OpenProcessSee Also CloseHandle, GetLastError, OpenProcessRequirements Runs on Versions Defined in Include Link to Windows CE OS 2.0 and later Winbase.h Coredll.lib This function returns a handle to an existing process object.HANDLE OpenProcess( DWORD fdwAccess, BOOL fInherit, DWORD IDProcess );
CWnd *pWnd = FindWindow(NULL , " 出货单") ;
GetWindowThreadProcessId(pWnd->GetSafeHwnd () , &dwPID) ;
hIns = (HINSTANCE)OpenProcess (PROCESS_ALL_ACCESS , FALSE , dwPID) ;
g_hHook = SetWindowsHookEx(WH_MOUSE , (HOOKPROC)CallWndProc , (HINSTANCE)hIns , dwPID) ;
DWORD dwError = GetLastError() ;
不知道为什么g_hHook为0,而dwError却是0(成功)?
CloseHandle, GetLastError, OpenProcessRequirements
Runs on Versions Defined in Include Link to
Windows CE OS 2.0 and later Winbase.h Coredll.lib
This function returns a handle to an existing process object.HANDLE OpenProcess(
DWORD fdwAccess,
BOOL fInherit,
DWORD IDProcess
);
hIns = (HINSTANCE)GetWindowLong(pWnd->GetSafeHwnd () , GWL_HINSTANCE) ;
但是现在的问题是得到了hInstance后
SetWindowsHookEx不知道为什么会失败.
DWORD dwPID ;
HINSTANCE hIns ;
CWnd *pWnd = FindWindow(NULL , " 出货单") ;
DWORD dwThreadID = GetWindowThreadProcessId(pWnd->GetSafeHwnd () , &dwPID) ;
DWORD dwError ;
// hIns = (HINSTANCE)OpenProcess (PROCESS_ALL_ACCESS , FALSE , dwPID) ;
hIns = (HINSTANCE)GetWindowLong(pWnd->GetSafeHwnd () , GWL_HINSTANCE) ;
dwError = GetLastError() ;
g_hHook = SetWindowsHookEx(WH_MOUSE , (HOOKPROC)CallWndProc , (HINSTANCE)hIns , dwThreadID) ;
dwError = GetLastError() ;
g_hHook为0,dwError显示的却是0