Entwickler-Ecke

Basistechnologien - tasten kombi an prozess senden


FragSalat - Mi 10.06.09 19:45
Titel: tasten kombi an prozess senden
hi leutz ich hab ma ne frage wie kann ich eine tasten kombination wie strg+o an ein programm senden ...

ich kann einzelne tasten senden aber keine kombis auch nicht mit
keydown strg
keydown o
keyup o
keyup strg

sowohl mit der Keys klasse als auch mit den Virtual Keys hats nicht geklappt

bitte um hilfe


Moderiert von user profile iconKha: Topic aus Windows API verschoben am Do 11.06.2009 um 19:20


Xentar - Mi 10.06.09 19:58

Zeig mal bitte den Code, wie du es bisher probiert hast.


FragSalat - Mi 10.06.09 20:56

verzeihung mir ist grade jetzt erst aufgefallen das ich im falschen forum bin ich wollte ins csharp forum^^

naja vllt moved das ja nen mod mal

hier jedenfalls mein code


C#-Quelltext
1:
2:
3:
4:
                WinApi.SendKey(hWnd, WM_KEYDOWN, VK_CTRL);
                WinApi.SendKey(hWnd, WM_KEYDOWN, VK_O);
                WinApi.SendKey(hWnd, WM_KEYUP, VK_O);
                WinApi.SendKey(hWnd, WM_KEYUP, VK_CTRL);


und meine senkey methode ist so gemacht


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
        [DllImport("user32.dll", SetLastError = true)]
        static extern bool PostMessage( IntPtr hWnd, uint msg, uint wParam,
            long lParam );

        public static void SendKey(IntPtr hWnd, uint msg, uint key)
        {
            PostMessage(hWnd, msg, key, 0);
        }


Marc. - Mi 10.06.09 21:33

Hey!

Ich denke in diesem Falle musst du wohl das keydb_event [http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx] verwenden. Beispiele findest Du hier im Forum.

Grüße


Xentar - Mi 10.06.09 22:13

Ok, C# ist nicht ganz mein Ding.
Aber vielleicht hilft es, zwischen den "Tastendrücken" eine Pause einzubauen?


FragSalat - Do 11.06.09 20:26

also ne pause bringt nicht das ergebnis was ich wollte
ich hab das mal auf sleep 5000 gesetzt und es kam raus was ich erwartet hab er drückt sozusagen strg einmal dann o und bei keyup das selbe nochmal 5 sek später


FragSalat - Fr 12.06.09 17:45

also ich hab mal geguckt und nix zu keydb_event im forum gefunden

hat keiner ne antwort drauf wie man ne tasten kombi sendet???
habs mal probiert mit mausklicks zu senden aber ging auch nicht so gut^^