Ű ŷϴ ϴ.
ť ־ DLL ŷ ϰ
鿩 ֽϴ.
Ϻ Ծ ְ.
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE g_hInst;
HWND hWndMain;
LPCTSTR lpszClass = TEXT("MouseHookLL");
int APIENTRY WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance
, _In_ LPSTR lpszCmdParam, _In_ int nCmdShow)
{
HWND hWnd;
MSG Message;
WNDCLASS WndClass;
g_hInst = hInstance;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = WndProc;
WndClass.lpszClassName = lpszClass;
WndClass.lpszMenuName = NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd = CreateWindow(lpszClass, lpszClass, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hWnd, nCmdShow);
hWndMain = hWnd;
while (GetMessage(&Message, NULL, 0, 0)) {
TranslateMessage(&Message);
DispatchMessage(&Message);
}
return (int)Message.wParam;
}
HHOOK hMouseHookLL = NULL;
TCHAR MesName[111];
TCHAR log[256];
TCHAR output[65000];
DWORD lastMsg = 0;
LRESULT CALLBACK MouseHookProcLL(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode >= 0) {
MSLLHOOKSTRUCT* ms = (MSLLHOOKSTRUCT*)lParam;
lstrcpy(MesName, "Other");
if (wParam == WM_LBUTTONDOWN) lstrcpy(MesName, "LDown");
if (wParam == WM_LBUTTONUP) lstrcpy(MesName, "LUp");
if (wParam == WM_RBUTTONDOWN) lstrcpy(MesName, "RDown");
if (wParam == WM_RBUTTONUP) lstrcpy(MesName, "RUp");
if (wParam == WM_MOUSEMOVE) lstrcpy(MesName, "Move");
if (wParam == WM_MOUSEWHEEL) lstrcpy(MesName, "Wheel");
wsprintf(log, "%s (%d, %d), flag=%x, time = %d\r\n",
MesName, ms->pt.x, ms->pt.y, ms->flags, ms->time);
// Move ι ʴ´.
if (wParam != WM_MOUSEMOVE || lastMsg != WM_MOUSEMOVE) {
lstrcat(output, log);
InvalidateRect(hWndMain, NULL, TRUE);
}
lastMsg = WM_MOUSEMOVE;
// 0 ƴ Ͽ 콺 Ŭ Ծ .
// ȭ » 콺 Ŭ Ѵ.
if (ms->pt.x < 200 && ms->pt.y < 200 && (wParam == WM_RBUTTONDOWN || wParam == WM_RBUTTONUP)) {
return 1;
}
}
return CallNextHookEx(hMouseHookLL, nCode, wParam, lParam);
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
RECT crt;
switch (iMessage) {
case WM_CREATE:
hMouseHookLL = SetWindowsHookEx(WH_MOUSE_LL, MouseHookProcLL, g_hInst, NULL);
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
GetClientRect(hWnd, &crt);
DrawText(hdc, output, -1, &crt, 0);
EndPaint(hWnd, &ps);
return 0;
case WM_DESTROY:
if (hMouseHookLL != NULL) UnhookWindowsHookEx(hMouseHookLL);
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd, iMessage, wParam, lParam));
}
(200, 200) » ȭ Ŭ ˾ ʵ ߽ϴ.
̷ 뵵ٴ ַ 뵵θ ° ٶմϴ.
밤길출장샵 | 김제콜걸샵 | 안성출장만남
밀양출장안마✓전주콜걸샵✓원주출장마사지
논산출장샵✓원주출장안마✓용산콜걸샵
추풍령면마사지
도원동콜걸
계성면만남후기
용문동성인맛사지
공범자들
로빈 망
학용동번개만남
케겔기구
데이트메이트
노원출장안마
고민정 더블유이출장마사지
섹시한사진
강남역카페
봄네일아트
육아소통해요
홍대버스킹
주말시작
꽃길
가을네일
집에서하는부업✓가상화폐 봇 만들기✓재테크 포트폴리오
재택부업 알바 | 투잡 회사에서 | 직장인이나 주부에게 부업
셀카타임
데이트하기좋은장소
영주콜걸샵
35금동영상
화성출장샵
성인용품판매
|
|