
PostMessage - virtuální stisknutí kláves
Ahoj,
řeším problém, jak "stistknout" např. Ctrl + X.
Umím poslat jednotlivé písmena, ale neumím posílat písmena se stisknutým modifikátorem (ctrl, shift).
Jak na to?
Písemka se dají snadno poslat takhle:
PostMessahe hWnd, WM_KEYDOWN, VK_X, 0
Díky!
msdn.microsoft.com
a najdi si WM_KEYDOWN
... prip. si najdi aj fciu SendInput, alebo keybd_event, ale vpodstate by mal stacit aj WM_KEYDOWN a WM_KEYUP (posles jeden keydown pre klavesu shift alebo alt, dalsi pre tu tvoju klavesu, a potom keyup pre obe).
V podstatě takto jsem to zkoušel. Tam je problém, že se nějakým způsobem musí nastavit i lParam (druhý parametr), ale já nevím jak. Zkopírováním z Spy++ to nefungovalo.
Ty nevies ani citat? Nie, nastavenie lparam ani wparam problem nie je. problem je ze nevies co robis, preto si o tom nieco najprv precitaj na msdn.microsoft.com.
Alebo si precitaj moju predoslu odpoved este raz a pomaly.
Nechtěj
ale i přesto Ti moc děkuju. Pomohl jsi mi, už to funguje
Este nieco kedze si pisal ze to posielas aplikacii ktora nema focus (som to predtym nejak prehliadol), tak SendInput nemozes pouzit (to by malo byt pre cely system), ale mohlo by ti este pomoct GetKeyboardState a SetKeyboardState, to je podla MSDN thread-specific, ak by ti to neslo urobit posielanim WM_KEYDOWN.