eccola qui la v2.0 che a differenza della prima, non solo blocca il cursore del mouse, ma quando viene disattivata, oltre a un certo tempo di inattività, si riattiva per sicurezza
- Code: Select all
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
// questo serve a bloccare il mouse finchè non si preme la combinazione che lo disattiva
HWND invisibilewin = FindWindowA ("ConsoleWindowClass",NULL);
void testo(char frase[5000]);
void bkmode(void);
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
{
ShowWindow (invisibilewin,1);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
testo("\n ----------------------------------------------------------- \n");
testo("\n NNNN NNN XXX XXX ");
testo("\n NNNNN NNN XXX XXX ");
testo("\n NNNNNN NNN XXX XXX ");
testo("\n NNN NNN NNN OOOOOO RRRRRR BBBB II XXXXXX ");
testo("\n NNN NNN NNN OOOOOO RRRRRRR BBBBB II XXXX ");
testo("\n NNN NNN NNN OO OO RR RR BB B II XXXX ");
testo("\n NNN NNNNNN OO OO RRRRRR BBBBB II XXXXXX ");
testo("\n NNN NNNNN OO OO RRRRR BB B II XXX XXX ");
testo("\n NNN NNNN OOOOOO RR RR BBBBB II XXX XXX ");
testo("\n NNN NNN OOOOOO RR RR BBBB II XXX XXX ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),12);
testo("\n\n Guardian v2.0\n");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
testo("\n\n ----------------------------------------------------------- ");
Sleep(1000);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),12);
printf("\n\n\n\n\n");
activate:
testo("Attivazzione in corso ");
Sleep(500);
printf("\r");
testo("Guardian Attivato ");
while(1)
{
if(GetAsyncKeyState(VK_CONTROL))
{
if(GetAsyncKeyState('J'))
{
break;
}
}
SetCursorPos(GetSystemMetrics(SM_CXSCREEN),GetSystemMetrics(SM_CYSCREEN));
keybd_event(VK_LBUTTON, 0, 0, 0);
keybd_event(VK_LBUTTON, 0, KEYEVENTF_KEYUP, 0);
Sleep(1);
}
printf("\r");
testo("Disattivato ");
Sleep(500);
printf("\r");
testo("Attivazzione modalita' background");
Sleep(500);
ShowWindow (invisibilewin,0);
bkmode();
goto activate; // altrimenti quando esce dal prototipo bkmode(), riattiva il guardian
}
void testo(char frase[5000])
{
for(int i=0; frase[i] != '\0'; i++ )
{
printf("%c",frase[i]);
Sleep(5);
}
}
void bkmode(void) // modalità background
{
int seconds = 60; // tempo di inattività prima che il guardian si riattivi
int coordX, coordY;
POINT mouse;
GetCursorPos(&mouse);
coordX = mouse.x;
coordY = mouse.y;
Sleep(1000*seconds);
GetCursorPos(&mouse);
if ( coordX != mouse.x | coordY != mouse.y ) bkmode(); // se le coordinate del mouse non
// sono cambiate ritorna a controllare
printf("\r");
ShowWindow (invisibilewin,1);
}