奇怪的问题,折腾好久了。没有Messagebox就不显示按钮?
// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "windows.h"#include "stdafx.h"#define _T TEXTHWND hwnd;HINSTANCE hIns;HWND hwndButton = NULL;HANDLE hThread;HWND hwndDLG;DWORD WINAPI FunProc(LPVOID lparamater){ hwnd = FindWindow(NULL,_T("Warcraft III")); hIns = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE); hwndButton= CreateWindow(_T("Button"), _T("btn"), WS_VISIBLE|WS_CHILD, 5, 5, 80, 20,hwnd, NULL, GetModuleHandle(0), NULL); if(hwndButton == NULL) { MessageBox(hwnd,_T("shibai"),_T("shibai"),MB_OK); } ShowWindow(hwndButton,SW_RESTORE); return 0;}BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { hThread = CreateThread(NULL,0,FunProc,NULL,0,NULL); } case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: WaitForSingleObject(hThread,0); } return TRUE;}
DWORD WINAPI FunProc(LPVOID lparamater){ hwnd = FindWindow(NULL,_T("Warcraft III")); hIns = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE); hwndButton= CreateWindow(_T("Button"), _T("btn"), WS_VISIBLE|WS_CHILD, 5, 5, 80, 20,hwnd, NULL, GetModuleHandle(0), NULL); if(hwndButton == NULL) { MessageBox(hwnd,_T("shibai"),_T("shibai"),MB_OK); } ShowWindow(hwndButton,SW_RESTORE); //不增加MessageBox(hwnd,_T("shibai"),_T("shibai"),MB_OK); return 0;}
hwnd = FindWindow(NULL,_T("Warcraft III")); hIns = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE); hwndButton= CreateWindow(_T("Button"), _T("btn"), WS_VISIBLE|WS_CHILD, 5, 5, 80, 20,hwnd, NULL, GetModuleHandle(0), NULL); if(hwndButton == NULL) { MessageBox(hwnd,_T("shibai"),_T("shibai"),MB_OK); } ShowWindow(hwndButton,SW_RESTORE); MessageBox(hwnd,_T("shibai"),_T("shibai"),MB_OK);//增加了 return 0;