Guten Tag, lang, lang ist's her, dass ich hier war, aber nun habe ich mal wieder fragen....
Ich würde gerne erfahren, wie ich mit C# Daten von meinem Programm an ein Fenster eines anderen Programmes senden kann.
Über eine rasche Antwort würde ich mich freuen.
MfG Goldman
Edit:
ich habe was gefunden...
kann mir einer sagen, warum ich nur notepad finde ?
wenn ich wordpad, cmd oder eine ander anwendung angebe, findet er nichts.
Ich würde gerne erfahren, wie ich mit C# Daten von meinem Programm an ein Fenster eines anderen Programmes senden kann.
Über eine rasche Antwort würde ich mich freuen.
MfG Goldman
Edit:
ich habe was gefunden...
Code:
using System.Runtime.InteropServices;
Private const int WM_SETTEXT = 0x000C;
[DllImport("user32.dll")]
private static extern IntPtr FindWindow(
string lpClassName,
string lpWindowName);
[DllImport("User32.dll")]
private static extern IntPtr FindWindowEx(
IntPtr hwndParent,
IntPtr hwndChildAfter,
string lpszClass,
string lpszWindows);
[DllImport("User32.dll")]
private static extern Int32 SendMessage(
IntPtr hWnd,
int Msg,
IntPtr wParam,
StringBuilder lParam);
private void button1_Click(object sender, EventArgs e)
{
// retrieve Notepad main window handle
IntPtr hWnd = FindWindow("Notepad", "Untitled - Notepad");
if (!hWnd.Equals(IntPtr.Zero))
{
// retrieve Edit window handle of Notepad
IntPtr edithWnd = FindWindowEx(hWnd, IntPtr.Zero, "Edit", null);
if (!edithWnd.Equals(IntPtr.Zero))
// send WM_SETTEXT message with "Hello World!"
SendMessage(edithWnd, WM_SETTEXT, IntPtr.Zero, new StringBuilder("Hello World!"));
}
}
Code:
//Null lässt mehr spielraum, damit man nicht immer
//nach einem speziellen Fenster suchen muss
IntPtr hWnd = FindWindow("Notepad", Null);
kann mir einer sagen, warum ich nur notepad finde ?
wenn ich wordpad, cmd oder eine ander anwendung angebe, findet er nichts.
Zuletzt bearbeitet: