Ome*_*mer 7 c++ windows dll winapi multithreading
我正在向某个进程注入一个DLL,该DLL有一个正在运行消息循环的工作线程.
我想正确地退出线程,即发布一个退出消息(PostThreadMessage)并等待它(WaitForSingleObject).
我在哪里可以等待这个线程关闭?我无法在DLL_PROCESS_DETACH上执行此操作,因为此时所有线程都已关闭或终止,我不知道该进程何时即将关闭.
我唯一的想法是,有没有办法拦截主线程消息循环并寻找WM_CLOSE\DESTROY消息?
我很想听到任何其他想法\解决方案.
编辑:
尝试使用带有WH_CALLWNDPROC的SetWindowsHookEx挂钩主线程,但它没有很好地工作,我设法挂钩并接收线程的消息.但是,我没有收到WM_QUIT消息,只有WM_DESTROY和WM_NCDESTROY,它们都与windows相关联.
谢谢,
奥梅尔
如果您需要对“About-To-Close”执行某些操作,则需要使用SetWindowsHookEx和 WH_CALLWNDPROC 来挂钩主线程,并查找 WM_CLOSE 并采取操作/通知线程关闭。
| 归档时间: |
|
| 查看次数: |
1099 次 |
| 最近记录: |