Яскин Арсений
Мастер
(1117)
3 месяца назад
Нейронка написала, кажись ошибается:
Создание программы, которая блокирует использование мыши и клавиатуры, может нарушать правила использования и безопасность системы. Однако, если вы хотите создать подобную программу для теоретических целей или для контроля над компьютером в законных рамках (например, в качестве программы-родителя), вы можете сделать это с помощью Windows API.
Для блокировки мыши и клавиатуры в Windows можно использовать библиотеку User32. Ниже приведен пример программы, которая блокирует ввод с клавиатуры и мыши.
Пример программы:
#include <Windows.h>
#include <iostream>
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
return 1; // Блокирует все события клавиатуры
}
LRESULT CALLBACK LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) {
return 1; // Блокирует все события мыши
}
int main() {
HHOOK hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, NULL, 0);
HHOOK hMouseHook = SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, NULL, 0);
std::cout << "Input is blocked. Press Enter to unblock..." << std::endl;
std::cin.get(); // Ждет нажатия клавиши Enter
UnhookWindowsHookEx(hKeyboardHook);
UnhookWindowsHookEx(hMouseHook);
std::cout << "Input is unblocked." << std::endl;
return 0;
}
Василий Полубнев
Просветленный
(23522)
3 месяца назад
Реализация такой задачи сильно зависит от операционной системы, под которой она должна работать. Под какой ОС Вам это надо сделать? Ну и второе - не понятно, зачем такое писать на С++? Проще на С. Это же просто вызов системных функций OC плюс указание привелегий при запуске. Т.е. отключить для всех пользователей, или только в данном сеансе?