Bindowanie klawiszy w C#
Wie ktoś jak to zrobić?? Chcę napisać program do bindowania klawiszy do gry. Chodzi o to, żeby program sam "wstukiwał" litery (tak jakby robił to z klawiatury). Proszę o pomoc.
Odpowiedzi: 2
Dzięki wielkie ;). Bardzo mi się przyda :).
W czystym .NET tego nie zrobisz - będziesz musiał odwołać się do WinAPI. Tu masz przykład prostego wrappera:
[code]class KeybdEventWrapper
{
[DllImport("user32.dll")]
private static extern int keybd_event(byte bVk, byte bScan,
Int32 dwFlags, UIntPtr dwExtraInfo);
public static void SynthesizeKeystroke(byte virtualKeyCode)
{
keybd_event(virtualKeyCode, 0, 0, new UIntPtr(0));
keybd_event(virtualKeyCode, 0, 0x0002, new UIntPtr(0));
}
}[/code]
Korzystasz z tego, uruchamiając statyczną metodę SynthesizeKeystroke, w argumencie podając [url=http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx]Virtual Key Code[/url].
Przykładowo, żeby zasymulować naciśnięcie klawisza [Win], robisz tak:
[code]KeybdEventWrapper.SynthesizeKeystroke(0x5B);[/code]
Polecam także skorzystanie z biblioteki [url=http://inputsimulator.codeplex.com/]Windows Input Simulator[/url], która da Ci o wiele większe możliwości, niż kod przedstawiony przeze mnie powyżej.
Strona 1 / 1