问题是这样的。 我做了一个外挂,把dll注入到目标程序,让目标程序启动两个线程,其中一个线程启动时会创建一个windows的窗口。
创建窗口的代码是这样。
typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM);
void CreateWnd()
{
HWND parent_hWnd = GetForegroundWindow();
g_hInnst = ::GetModuleHandle(NULL);
HMODULE hModuleDLL = ::GetModuleHandle(L"InjectD.DLL");
//
AndroidSay("CreateWnd:WndProc:[%08x]", WndProc);
WNDCLASS wc = { 0 };
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = g_hInnst;
wc.hIcon = NULL;
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)GetSysColorBrush(COLOR_WINDOW);
wc.lpszMenuName = NULL;
wc.lpszClassName = TEXT("InjectDllWindow");
RegisterClass(&wc);
g_hWndMsg =