Mã:
LRESULT CALLBACK CallWindowsProc(int iCode,WPARAM wparam,LPARAM lparam){ PCWPSTRUCT cwp = (PCWPSTRUCT)(lparam); if((iCode==HC_ACTION) && (cwp->message==WM_KEYDOWN))// nếu người dùng nhấn 1 phím { cwp->message=WM_LBUTTONDOWN; CallWindowProc((WNDPROC)MyProc,cwp->hwnd,cwp->message,cwp->wParam,cwp->lParam); // return CallNextHookEx(hook,iCode,wparam,lparam); } return CallNextHookEx(hook,iCode,wparam,lparam);}
Code full :
Mã:
#include <windows.h> LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;LRESULT CALLBACK MyProc (HWND, UINT, WPARAM, LPARAM) ;LRESULT WINAPI CallWindowsProc(int,WPARAM,LPARAM);HHOOK hook;HWND hWnd;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT ("HelloWin") ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = NULL ; wndclass.lpszClassName = szAppName ; if (!RegisterClass (&wndclass)) { MessageBox (NULL, TEXT ("This program requires Windows NT!"), szAppName, MB_ICONERROR) ; return 0 ; } hwnd = CreateWindow (szAppName, // window class name TEXT ("The Hello Program"), // window caption WS_OVERLAPPEDWINDOW, // window style CW_USEDEFAULT, // initial x position CW_USEDEFAULT, // initial y position CW_USEDEFAULT, // initial x size CW_USEDEFAULT, // initial y size NULL, // parent window handle NULL, // window menu handle hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; hWnd = hwnd; hook=SetWindowsHookEx(WH_CALLWNDPROC,(HOOKPROC)CallWindowsProc,hInstance,GetCurrentThreadId()); while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return 1;} LRESULT CALLBACK MyProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_CREATE: //PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; case WM_KEYDOWN: MessageBox(NULL,TEXT("MyProc is proceed,WM_KEYDOWN"),TEXT("MyProc "),0); return 0; case WM_LBUTTONDOWN: MessageBox(NULL,TEXT("MyProc is proceed,WM_LBUTTONDOWN"),TEXT("MyProc "),0); return 0; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: UnhookWindowsHookEx(hook); PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ;} LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ HDC hdc ; PAINTSTRUCT ps ; RECT rect ; switch (message) { case WM_CREATE: //PlaySound (TEXT ("hellowin.wav"), NULL, SND_FILENAME | SND_ASYNC) ; return 0 ; break; case WM_KEYDOWN: MessageBox(NULL,TEXT("Wndproc is proceed,WM_KEYDOWN"),TEXT("wndproc"),0); return 0; case WM_LBUTTONDOWN: MessageBox(NULL,TEXT("Wndproc is proceed,WM_LBUTTONDOWN"),TEXT("wndproc"),0); return 0; case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ; GetClientRect (hwnd, &rect) ; DrawText (hdc, TEXT ("Hello, Windows 98!"), -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER) ; EndPaint (hwnd, &ps) ; return 0 ; case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ;}LRESULT CALLBACK CallWindowsProc(int iCode,WPARAM wparam,LPARAM lparam){ PCWPSTRUCT cwp = (PCWPSTRUCT)(lparam); if((iCode==HC_ACTION) && (cwp->message==WM_KEYDOWN)) { cwp->message=WM_LBUTTONDOWN; CallWindowProc((WNDPROC)MyProc,cwp->hwnd,cwp->message,cwp->wParam,cwp->lParam); // return CallNextHookEx(hook,iCode,wparam,lparam); } return CallNextHookEx(hook,iCode,wparam,lparam);}
Dưới ánh nắng mặt trời đang lên, những đống pallet nhựa An Giang trải dài mênh mông như những bức tranh tự nhiên đầy sắc màu. Mỗi chiếc pallet nhựa không chỉ là một vật dụng thông thường mà còn là...
Pallet nhựa An Giang giao hàng...