SendInput und key's
-
Hallo zusammen
Warum kann ich mit diesem Konstrukt keine Grossen Buchstaben ausgeben? Bekomme immer nur einen kleinen... warum dass?
int main() { INPUT ipstruct = {0}; ipstruct.type = INPUT_KEYBOARD; ipstruct.ki.time = 0; ipstruct.ki.dwExtraInfo = 0; ipstruct.ki.wScan = 0; ipstruct.ki.dwFlags = 0; ipstruct.ki.wVk = VkKeyScan('P'); if( ! SendInput(1 ,&ipstruct ,sizeof(INPUT)) ) { printf("Error sendinput - error %i",GetLastError()); getchar(); } ipstruct.ki.dwFlags = KEYEVENTF_KEYUP; if( ! SendInput(1 ,&ipstruct ,sizeof(INPUT)) ) { printf("Error sendinput - error %i",GetLastError()); getchar(); } getchar(); return 0; }
Danke schonmal
-
Weil Du dann auch die Umschalt-Taste erstmal drücken musst. Wie eben auf der Tastatur auch!
-
Ja dass weis ich jetzt danke.
Mein eigentliches Problem ist aber ein anderes. Habe ein Client der wertet die Nachricht WM_CHAR aus... und im wParam steht ja der Charakter Code... denn sende ich jetzt (in meinem Fall dem Server) und Probiere mit SendInput den Key zu simulieren. Doch jetzt weiss ich nicht genau wie ich auswerten soll ob shift benötigt wird oder nicht, da wenn ich ja ein grosser (A) drücke ein SHIFT dazu brauche.
Kann ich dass erst auf Server seite auswerten mit dem charakter code oder muss ich in meinem Fall das schon auf der Client Seite machen mit wParam? Wie macht man sowas? SendInput ist mir schon verständlich!
Du hast da mehr Erfahrung Martin, könntest Du mir sagen wie sowas gemacht wird?
-
GetKeyState?
-
Danke Martin
Ja das habe ich auch so gelöst danke.
Gruss