Szukam kodu (najlepiej C#), który uniemożliwi wejście klawiatury i myszy.Jak mogę zablokować wejście klawiatury i myszy w C#?
Odpowiedz
patrzeć w funkcji BlockInput Win32
Brzmi jak jakiś testów zabawy :)
Czy mogę zablokować tylko określony typ wejść? Jak tylko klawiatura i mysz. – Kishori
rozwinięcia on (poprawnej) odpowiedzi Josha. Oto podpis PInvoke dla tej metody.
public partial class NativeMethods {
/// Return Type: BOOL->int
///fBlockIt: BOOL->int
[System.Runtime.InteropServices.DllImportAttribute("user32.dll", EntryPoint="BlockInput")]
[return: System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)]
public static extern bool BlockInput([System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.Bool)] bool fBlockIt) ;
}
public static void BlockInput(TimeSpan span) {
try {
NativeMethods.BlockInput(true);
Thread.Sleep(span);
} finally {
NativeMethods.BlockInput(false);
}
}
EDIT
Dodane niektóre kodu do wykazania sposobu blokowania dla interwału
Wielkie dzięki za to. Czy masz jakiś kod, który korzysta z tego podpisu? Na przykład wejście bloku, odczekaj 30 sekund, ponownie włączyć wejście. Dzięki –
Zobacz zarządzany interfejs API systemu Windows, może on mieć coś, co już zawodzi tę funkcjonalność. http://mwinapi.sourceforge.net/ –
@Matt, zwykle po prostu łapię sig od asystenta PInvoke Interop http://www.codeplex.com/clrinterop – JaredPar
Wystarczy popatrzeć na ten artykuł Processing Global Mouse and Keyboard Hooks in C#. Facet, który napisał ten artykuł, wykonał wiele badań dotyczących problemu.
Być może jest w nim coś, z czego można korzystać.
- 1. jQuery: Jak mogę odsłuchać ogólne wejście klawiatury?
- 2. Czy mogę zmienić wejście klawiatury użytkownika?
- 3. Wysyłanie zdarzeń myszy i klawiatury
- 4. Ionic/HTML5 - dziesiętne wejście klawiatury?
- 5. Get wejście z klawiatury, bez konieczności „powrotu” w C
- 6. ReSharper blokuje wejście klawiatury w VS2013
- 7. NodeJS rodzime myszy i klawiatury Wiązania
- 8. CGEventTapCreate obserwuje wejście klawiatury w kakao
- 9. Jak wyłączyć wpis klawiatury i myszy dla JSpinner?
- 10. Dlaczego musimy zablokować i obiekt w C#?
- 11. Uzyskiwanie pozycji myszy w zdarzeniu klawiatury
- 12. wyłączyć lub zablokować mysz i klawisze w pythonie?
- 13. Tylko cyfry jako wejście klawiatury dla ipad
- 14. Jak przechwycić wejście klawiatury na najniższym poziomie w systemie Linux?
- 15. zalecana implementacja klawiatury/myszy dla wielu platform
- 16. Jak mogę zablokować łańcuch metod w Sinon?
- 17. jak zablokować GUI aplikacji w C# Winform
- 18. Czy mogę używać języka Python do przechwytywania zdarzeń klawiatury i myszy w systemie OSX?
- 19. Sterowanie urządzeniem iOS za pomocą myszy/klawiatury
- 20. Globalne przechwytywanie klawiatury w aplikacji C#
- 21. Jak mogę zablokować muteks na liście inicjalizatora?
- 22. Odczytaj wejście klawiatury w Scali z wpisanymi znakami widocznymi
- 23. Jak mogę zablokować bazę danych sqlite?
- 24. C# Wysyłanie wprowadzania klawiatury
- 25. C# jednoczesne wejście i wyjście konsoli?
- 26. Jak zablokować w pojedynczym szkielecie?
- 27. Selection Wejście Zmieniono Event
- 28. Czy "tekst wejściowy powłoki adb" symuluje wejście klawiatury programowej?
- 29. Jak symulować zdarzenia klawiatury i myszy za pomocą CGEventPost w oknie logowania systemu Mac OS?
- 30. jak zablokować wywołanie ajax (chcę to zablokować)
Czy możesz podać nieco więcej kontekstu, dlaczego chcesz to zrobić? – JaredPar
Masz na myśli tylko w swojej aplikacji lub globalnie w całym systemie? –
I do czego; w końcu mógłbyś odwoływać się do pola tekstowego, który ustawiłby właściwość readonly. –