Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <TlHelp32.h>
- #include<iostream>
- using namespace std;
- HWND window_handle = NULL;// идентификатор окна.
- HHOOK MouseHook;// хук для мыши.
- BOOL WINAPI HandlerRoutine(_In_ DWORD dwCtrlType) {
- if (dwCtrlType == CTRL_CLOSE_EVENT) { UnhookWindowsHookEx(MouseHook); }
- return 1;};// события для завершения работы.
- LRESULT __stdcall LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) { // код hook-точки идентификатор сообщения координаты мыши
- if (nCode >= 0) {
- switch (wParam) {
- case WM_RBUTTONDOWN: {printf(" ok!\n\n");
- return -1; break;
- }
- case WM_RBUTTONUP: {
- return -1; break;
- }
- case WM_LBUTTONDBLCLK: {break; return 0; };
- break;
- }
- } return CallNextHookEx(MouseHook, nCode, wParam, lParam);
- };
- BOOL __stdcall EnumWindowsCallback(HWND hwnd, LPARAM lParam) {// найти идентификатор окна.
- DWORD process; GetWindowThreadProcessId(hwnd, &process);
- if (process == lParam) { window_handle = hwnd; return FALSE; }
- return TRUE;
- };
- void GetWindowHandle(LPARAM processID) {EnumWindows(EnumWindowsCallback, processID);};
- int GetProcessByName(char* process_name) { DWORD proc_id = 0; PROCESSENTRY32 process;
- HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if (Process32First(snapshot, &process)) {// получить идентификатор процесса.
- while (Process32Next(snapshot, &process)) {
- if (_stricmp(process.szExeFile, process_name) == 0) {
- proc_id = process.th32ProcessID;//Идентификатор процесса.
- GetWindowHandle(proc_id); SetForegroundWindow(window_handle);
- printf("hWnd found!\n\n");
- break;
- }
- }
- } CloseHandle(snapshot); MSG msg; cout << proc_id << endl;
- HANDLE proc_handle = GetModuleHandle((LPCSTR)process_name);// дескриптор указанного модуля.
- SetWindowsHookEx(WH_MOUSE_LL, LowLevelMouseProc, (HINSTANCE)proc_handle, GetThreadId(proc_handle));
- while (GetMessage(&msg, NULL, 0, 0))
- {
- TranslateMessage(&msg);
- DispatchMessage(&msg);
- }
- return 0;
- };
- int main() { char process_name[32] = "notepad.exe";
- DWORD pID = GetProcessByName(process_name); //Получить id процесса.
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement