内存储器加载DLL,DLL中创建窗口在7系统上出错
内存加载DLL,DLL中创建窗口在7系统上出错
下面是DLL代码
在XP上可以成功创建窗口,但是在7系统上,窗口不显示出来,并且主窗口线程卡了,无响应
这个DLL是用内存中加载DLL的方法加载的
------解决方案--------------------
2就是2 3就是3啊
你的工程里有几个form
------解决方案--------------------
Application->CreateForm 的方法比直接new一个Form对象要做的事情多一些,比如确定主窗体之类的。
下面是DLL代码
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
if (DLL_PROCESS_ATTACH== reason)
{
dllm=hinst;
CreateThread(NULL,NULL,create,NULL,0,0);
}
return 1;
} try
{
// 初始化Application
Application->Initialize();
// 创建主窗口,并显示
Application->CreateForm(__classid(TForm2), &Form3);
Form3->goblegamehandle=(int) GetWindowHandleByPID( GetCurrentProcessId());
MSG mymsg;
JgWindow();
// 进入消息循环,直到程序退出
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
在XP上可以成功创建窗口,但是在7系统上,窗口不显示出来,并且主窗口线程卡了,无响应
这个DLL是用内存中加载DLL的方法加载的
------解决方案--------------------
2就是2 3就是3啊
你的工程里有几个form
------解决方案--------------------
Application->CreateForm 的方法比直接new一个Form对象要做的事情多一些,比如确定主窗体之类的。