FindWindowEx aus user32.dll ist die Rückgabe ein handle, Null und error code 127 verwenden von dllimport

Ich brauche, um zu behandeln eine andere windows-Anwendung ein Programm, google-Suche fand ich eine Probe, die Griffe windows-Rechner mit DLLImport-Attribut und dem Import der user32.dll Funktionen in managed in C#.

Dem die Anwendung ausgeführt wird, bekomme ich das handle für das Hauptfenster, also Taschenrechner an sich, sondern das danach-code funktioniert nicht. Die FindWindowEx-Methode ist nicht Rückgabe des handles für die Kinder der Rechner wie buttons und textbox.

Habe ich versucht, SetLastError=True auf DLLImport und fand, dass ich immer ein error code 127 die "Prozedur nicht gefunden".

Dies ist der link von wo ich Beispiel-Anwendung:

http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=14519&av=34503

Bitte um Hilfe wenn jemand weiß wie es zu lösen.

UPDATE: Das DLLImport ist:

[DllImport("user32.dll", SetLastError = true)]
        public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className,  string  windowTitle);

Den Code, der nicht funktioniert ist:

hwnd=FindWindow(null,"Calculator"); //This is working, I am getting handle of Calculator

//The following is not working, I am getting hwndChild=0 and err = 127
hwndChild = FindWindowEx((IntPtr)hwnd,IntPtr.Zero,"Button","1");

                Int32 err = Marshal.GetLastWin32Error();
  • Welche Windows-version verwendest du?
  • Wenn Sie ein problem mit P/Invoke, posten Sie Ihre Erklärung mit der DllImport Attribut. Wenn Sie ein problem mit dem code, poste den code, der nicht funktioniert.
  • Ich bin mit Windows 7 Professional.
  • Ich update meine Frage und enthalten den code, der nicht funktioniert.
InformationsquelleAutor teenup | 2011-03-09
Schreibe einen Kommentar