13:20
刚才测试了下
xor eax,eax
invoke DialogBoxParam,hInstance,DLG_MAIN,NULL,addr _ProcDlgMain,NULL
mov hDlg,eax
.if eax
invoke MessageBox,NULL,addr szwgtitle,addr szwgtitle,MB_OK
.endif
发现如果能够正常返回消息框 说明....等等 我操 哥成功呼出了窗口了 虽然游戏画面定格了...
因为刚才又仔细看了下Makefile文件 发现一个问题 就是当时虽然理解是正确的 但书写却错误了 资源文件应定义对应的dll中 但我却定义在了主程序中 难怪不出来呢 吼吼 也不知道当时是怎么理解的 歪打正着地明白了dll文件中可以包含资源
$(DLL).dll $(NAME).exe:
gongneng.dll:gongneng.def gongneng.obj gongneng.res
Link $(DLL_LINK_FLAG) /Def:gongneng.def /Dll gongneng.obj gongneng.res
$(NAME).exe: $(NAME).obj
Link $(LINK_FLAG) $(NAME).obj
Makefile文件里则是
$(DLL).dll $(NAME).exe:
gongneng.dll:gongneng.def gongneng.obj
Link $(DLL_LINK_FLAG) /Def:gongneng.def /Dll gongneng.obj
$(NAME).exe: $(NAME).obj gongneng.res
Link $(LINK_FLAG) $(NAME).obj gongneng.res
可能是多开Makefile导致保存时出了差错 修改了下 去掉了消息窗口的弹出 终于能够加血了 但是还是画面还是会定格...再修改...
在钩子回调函数中创建了一个线程 然后在线程中调用了创建对话框函数 接着编译 然后成功 然后加血 成功 画面不定格 yes 成功了!!!
日本地震了 8.9级 人命关天 希望我们能保持对生命的宽容 即使我们不喜欢他们 为他们祈福...