-
15-08-2010, 12:24 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
thêm cái inject nhưng Vẫn chưa được
Mã nguồn PHP:// dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" HANDLE g_hThreadHook = NULL; HHOOK g_hKeyboardDLL = NULL; HINSTANCE hInstallProc; LRESULT _stdcall CALLBACK keyboardHookProc_DLL(int nCode, WPARAM wParam, LPARAM lParam) { PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT) (lParam); if (wParam == WM_KEYDOWN) { MessageBoxA(0,"sdkj","sd",0); } return CallNextHookEx(NULL, nCode, wParam, lParam); } unsigned __stdcall ThreadInstallHook_WhileTrue( void* pArguments) { g_hKeyboardDLL = SetWindowsHookEx( WH_KEYBOARD_LL, keyboardHookProc_DLL, hInstallProc, 0); return 0; } void UnstallHook(__in HHOOK &hKeyboardDLL,__in HANDLE &hThreadHook) { UnhookWindowsHookEx(hKeyboardDLL); CloseHandle(hThreadHook); } void InstallHooK() { if (g_hThreadHook == NULL) { unsigned threadID; g_hThreadHook = (HANDLE)_beginthreadex(NULL, 0, &ThreadInstallHook_WhileTrue, 0, 0, &threadID); } } BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: hInstallProc = (HINSTANCE)hModule; InstallHooK(); case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: UnstallHook(g_hKeyboardDLL,g_hThreadHook); break; } return TRUE; }
View more random threads:
- CreateProcess Ẩn Cửa sổ VC++
- Địa Chỉ BroadCast Trong Máy Chủ Là Windows 7
- Cách chống chương trình bị tắt bởi taskkill?
- Kiểm tra Process đang chạy là win32 hay 64 ?
- Cài đặt local hook keyboard lên 1 ứng dụng cụ thể khác như thế nào
- Làm sao để tạm ngừng chương trình sử dụng hook của mình?
- Hàm API nào dùng để Send dữ liệu qua mạng LAN
- Làm sao để click chuột được vào game đã trận các hàm API click mouse
- ý nghĩa của HDC trong c++ ?
- Hỏi về Lỗi MSIL .netmodule or module compiled with /GL found
-
15-08-2010, 12:59 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
xin hỏi là có cách nào Gọi SetWIndowHookEX trong DLL không vậy ?
-
15-08-2010, 01:02 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi C&C++
-
15-08-2010, 01:11 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi peterdrew
You should never perform the following tasks from within DllMain:
• Call functions in User32.dll or Gdi32.dll. Some functions load another DLL, which may not be initialized.
đọc tại đây: http://forums.congdongcviet.com/show...165#post158165
-
15-08-2010, 01:57 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi C&C++
-
15-08-2010, 02:11 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Không thể không dùng SetWIndowHookEx được,nếu thôi được thì mình đã làm cách khác rồi ( đầy cách chạy tốt ),nhưng tính logic của chương trình bắt phải như vậy
-
15-08-2010, 07:15 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
SetWindowHookEx Và hàm Lọc Cùng trong DLL
hi Các bạn,thông thường để Hook Keyboard người ta đặt Hàm lọc nằm trong DLL,còn Hàm Call SetWindowHookEx nằm ở file Exe,bây giờ mình muốn Đặt hàm lọc và hàm SetwindowHookEx cùng nằm trong DLL,sau đó sẽ có 1 Exe inject DLL đó vào 1 process khác,nhiệm vụ là trong DLL main sẽ call SetwindowHookEx,nhưng code của mình chạy ko hook được( nó không vào hàm lọc ) tại sao vậy nhỉ ?
Mã:LRESULT _stdcall CALLBACK keyboardHookProc_DLL(int nCode, WPARAM wParam, LPARAM lParam) { PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT) (lParam); if (wParam == WM_KEYDOWN) { MessageBoxA(0,"sdkj","sd",0); } return CallNextHookEx(NULL, nCode, wParam, lParam); } unsigned __stdcall ThreadChangeLink( void* pArguments) { g_hKeyboardDLL = SetWindowsHookEx( WH_KEYBOARD_LL, keyboardHookProc_DLL, HINSTANCE(GetModuleHandle(NULL)), 0); break; return 0; } BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: unsigned threadID; g_hThreadHook = (HANDLE)_beginthreadex(NULL, 0, &ThreadChangeLink, 0, 0, &threadID); } }
-
15-08-2010, 07:37 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
VD đây là code của mình:
Mã nguồn PHP:// dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" HANDLE g_hThreadHook; HHOOK g_hKeyboardDLL; LRESULT _stdcall CALLBACK keyboardHookProc_DLL(int nCode, WPARAM wParam, LPARAM lParam) { PKBDLLHOOKSTRUCT pKey = (PKBDLLHOOKSTRUCT) (lParam); if (wParam == WM_KEYDOWN) { MessageBoxA(0,"sdkj","sd",0); } return CallNextHookEx(NULL, nCode, wParam, lParam); } unsigned __stdcall ThreadChangeLink( void* pArguments) { g_hKeyboardDLL = SetWindowsHookEx( WH_KEYBOARD_LL, keyboardHookProc_DLL, HINSTANCE(GetModuleHandle(NULL)), 0); return 0; } BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: unsigned threadID; g_hThreadHook = (HANDLE)_beginthreadex(NULL, 0, &ThreadChangeLink, 0, 0, &threadID); case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; }
Rocket 1h là thực phẩm chức năng giúp tăng cường sinh lý nam có nguồn gốc hoàn toàn từ dược liệu tự nhiên. Rất nhiều nam giới đã tuyển lựa Rocket 1h như một phương thuốc hữu hiệu để cải thiện tình...
Nguyên nhân của cặp đôi nam nữ mua...