请问一下,在一个DLL里面的EXPORT函数里面是不是不能用SetTimer?????

rabo 2004-03-22 01:51:58
请问一下,在一个DLL里面的EXPORT函数里面是不是不能用SetTimer?????


DLL输出了一个函数,这个函数里面有一个SetTimer.
我用EXE去调我的DLL的这个函数。
结果SetTimer并没有被执行。

我单步跟了一下子。很正常的经过了SetTimer并没有出错。
我想进去SetTimer,结果进不去。

然后,这个输出的函数里面还有其它的我写的函数,都可以正常执行。
唯独就是SetTimer执行了等于没执行。

我实在是想不通,就怀疑在一个DLL里面的EXPORT函数里面是不是不能用SetTimer?????

请高手指点
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xenke 2004-03-22
  • 打赏
  • 举报
回复
你将myTimerProc()也导出即可,不过调用此dll的线程必须有消息循环
Wolfe 2004-03-22
  • 打赏
  • 举报
回复
对,它没有WM_TIMER消息
dot99 2004-03-22
  • 打赏
  • 举报
回复
我用hook的时候也遇见过这种问题
让别的程序处理挂上去的HOOK DLL里面的TimeProc,不得行
应该怎么办?
user32.dll, Kernel32.dll里面的API们互相调用这又可以?

rabo,你也是用hook吗~~~

rabo 2004-03-22
  • 打赏
  • 举报
回复
rivershan可能是我没有说清楚。

这个DLL,另一个程序正在使用。
我是怀疑会不会是因为空间不同。而导致VOID CALLBACK myTimerProc()的地址不同了。
rivershan 2004-03-22
  • 打赏
  • 举报
回复
SetTimer实际上是响应WM_TIMER消息,响应WM_TIMER需要消息循环~

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧