¸»¾¸´ë·Î ÄÄÆÄÀÏ ¿¡·¯´Â ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù.
ÇÏÁö¸¸.. ÇÚµéÀ» ÇÒ´ç¹ÞÁö ¸øÇÕ´Ï´Ù.
À©µµ¿ì Ŭ·¡½º »ý¼º ºÎºÐ¿¡¼ °ªÀ» À߸øÁصí..
¹Ø¿¡ API±âº» Çì´õ ÆÄÀÏÀ» ¿Ã·Áµå¸³´Ï´Ù.
´ÔÀÌ ¾²½Å °Å¶û °ÅÀÇ ºñ½ÁÇϱ¸¿ä...´Ù µðÆúÆ® °ªÀÔ´Ï´Ù.
ÀÌ ÆÄÀÏÀ» Çì´õÆÄÀÏ·Î µû·Î ÀúÀåÇسõÀ¸½Å ´ÙÀ½..
¼Ò½º ÆÄÀÏ¿¡¼ ÀÎŬ·çµå Çؼ »ç¿ëÇÏ½Ã¸é µË´Ï´Ù~
#include <windows.h>
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
HINSTANCE hInst;
LPSTR ClassName = "Hook";
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
HWND hWnd;
MSG msg;
WNDCLASS WndClass;
hInst = hInstance;
WndClass.cbClsExtra = 0;
WndClass.cbWndExtra = 0;
WndClass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
WndClass.hInstance = hInstance;
WndClass.lpfnWndProc = (WNDPROC)WndProc;
WndClass.lpszClassName = ClassName;
WndClass.lpszMenuName = NULL;
WndClass.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);
hWnd = CreateWindow(ClassName, ClassName, WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
NULL, (HMENU)NULL, hInstance, NULL);
ShowWindow(hWnd, SW_SHOW);
while(GetMessage(&msg, 0, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, msg, wParam, lParam);
} |