69,371
社区成员
发帖
与我相关
我的任务
分享
BOOL CALLBACK DialogProc(HWND hwndDlg, UINT UMsg, WPARAM wParam, LPARAM lParam) {
switch (UMsg)
{
case WM_CLOSE:
CloseHandle(hNewThread);
EndDialog(hwndDlg, 0);
break;
}
switch (UMsg)
{
case WM_CLOSE:
::PostQuitMessage(0);
case WM_COMMAND:
break;
}
return ::DefWindowProc(hwndDlg, UMsg, wParam, lParam);
}
DWORD WINAPI New_Thread(LPVOID lpParam) {
HWND hwnd= CreateDialog(hModule, (LPCSTR)IDC_DLG, NULL, DialogProc);
ShowWindow(hwnd, SW_SHOW);
UpdateWindow(hwnd);
MSG msg = {0};
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return 0;
}
BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD fdwReason, LPVOID lpvReserved)
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hInstDll);
//InstallMonitor();
hModule = hInstDll;
//DialogBox(hInstDll, (LPCSTR)IDC_DLG, NULL, DialogProc);
hNewThread = CreateThread(NULL, NULL, &New_Thread, 0, 0, NULL);
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}