C#, WinAPI Klick auf Menüpunkte

Ich versuche, klicken Sie auf ein Menü Element in einem Programm namens Media Subtitler und was auch immer ich versuche zu tun, es funktioniert nicht.

Erste, ich habe versucht Sie mit der Funktion GetMenu aber es kehrte IntPtr.Null.
Dann habe ich versucht mit der ALT-Taste + verwenden Sie den ersten Buchstaben von meinem Menü (F steht für file), aber es Tat nichts.
Dann habe ich versucht mit einem einfachen MOUSEDOWN-und MOUSEUP-Nachrichten, aber wieder, es Tat sich nichts (ich habe auch versucht, die Schaffung einer Schleife, klickt auf alles, was in diesem Bereich aber es war nicht auf diesen Bereich klicken).

Was ich genau weiß ist, dass ich arbeite, auf das richtige Fenster.

Was mache ich falsch?

Wenn jemand will, um es zu testen, Sie können download-Media Subtitler kostenlos und es nicht Gewicht zu viel.

Auch, Hier ist der code, den ich habe getestet:

Process p = Process.Start(@"C:\Program Files\DivXLand\Media Subtitler\MediaSub.exe");
        p.WaitForInputIdle(1500);
        Thread.Sleep(3000);

        SetForegroundWindow(p.MainWindowHandle);
        ShowWindow(p.MainWindowHandle, SW_MAXIMIZE);

        IntPtr handle = p.MainWindowHandle;

        SendMessage(handle, WM_NCHITTEST, 0, MakeLParam(18, 29));

        //for (int i = 0; i < 200; i++)
        //{
        //   for (int x = 0; x < 200; x++)
        //   {
        //       SendMessage(p.MainWindowHandle, WM_LBUTTONDOWN, 0, MakeLParam(i, x));
        //       SendMessage(p.MainWindowHandle, WM_LBUTTONUP, 0, MakeLParam(i, x));
        //   }
        //}
        //IntPtr menuItems = GetMenu(p.MainWindowHandle);
        return;
        //SendMessage(p.MainWindowHandle, WM_COMMAND, 6, 0);
        SendMessage(p.MainWindowHandle, WM_KEYDOWN, VK_MENU, 0);
        SendMessage(p.MainWindowHandle, WM_KEYUP, VK_MENU, 0);
        SendMessage(p.MainWindowHandle, WM_KEYDOWN, VK_F, 0);
        SendMessage(p.MainWindowHandle, WM_KEYUP, VK_F, 0);

Vielen Dank für jede Hilfe!!!

InformationsquelleAutor Imri Barr | 2012-02-22
Schreibe einen Kommentar