首先我们认识几个函数以及填法
HDC GetDC(HWND hWnd);
BOOL GetCursorPos(LPPOINT lpPoint);
BOOL DrawIcon(HDC hDC,int X,int Y,HICON hIcon)
HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,SIZE_T dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId)
BOOL DrawIconEx(HDC hdc,int xLeft,int yTop,HICON hIcon,int cxWidth,int cyWidth,UNIT istepIfAniCur,HBRUSH hbrFlickerFreeDraw,UNIT diFlags)
具体填法
HDC hdc = GetDC(0);
POINT point;(为下面做准备)
GetCursorPos(&point);
DWORD WINAPI DrawError(LPVOID lpParameter){}
CreateThread(NULL,NULL,DeawError,NULL,NULL,NULL);
DrawIconEx(hdc,rand() % GetSystemMetrics(0),rand() % GetSystemMetrics(1),LoadIcon(NULL,IDI_ERROR),rand() % GetSystemMetrics(0),NULL,NULL,DI_NORMAL);
random函数
HCRYPTPROV prov;
int random() {
if (prov == NULL)
if (!CryptAcquireContext(&prov, NULL, NULL, PROV_RSA_FULL, CRYPT_SILENT | CRYPT_VERIFYCONTEXT))
ExitProcess(1);
int out;
CryptGenRandom(prov, sizeof(out), (BYTE*)(&out));
return out & 0x7fffffff;
}
单击复制完整代码