TC官方合作论坛

标题: 恐怕这TC坛子没人解得了?子线程为何不能开启钩子子程? [打印本页]

作者: topses    时间: 2018-1-18 14:13
标题: 恐怕这TC坛子没人解得了?子线程为何不能开启钩子子程?
重写了TC的MouseWaitClick函数,想实现首次调时,自行开启挂钩函数,即使调用者在子线程内。
可惜:在子线程1里调用 SetWindowsHookEx  死活都不行。 子程只是启用瞬间有反馈。 我恐怕这TC论坛没人解得了?
var ret =  dllcall("user32.dll", "long", "SetWindowsHookExW", "long", idHook, "callback", lpfn, "long", hMod, "long", dwThreadId)


原码附上, 新手有惊喜: 内附消息大全 。
回调函数1.rar (1.91 MB, 下载次数: 102)

觉得 用的顶一下罗

作者: 类人猿    时间: 2018-1-19 16:25
直接用现成的命令吧,一般尽量少用这个。也不知道TC里面有没有bug
作者: 剑仙十号    时间: 2018-1-20 11:38
安装钩子函数,得在UI界面_里面执行。如:
ui界面的按钮点击事件,
ui界面的热键事件。
在子线程中安装无效。

VS2013合集,VC++3013,也有这样的约定。
作者: topses    时间: 2018-1-21 20:40
剑仙十号 发表于 2018-1-20 11:38
安装钩子函数,得在UI界面_里面执行。如:
ui界面的按钮点击事件,
ui界面的热键事件。

1,你这个说法有链接吗?麻烦大神给一个看看。

2,其实在开始的那一瞬间,钩子子程是成功返回执行的,不过是由子线程执行的(这个就不是我的目的了,还是要由主线程安装执行)

3,有没有办法通过子线程注入到主线程来执行?





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1