返回信息流CInsertKey Dlg1;
if (Dlg1.DoModal()==IDOK)
{
//do something;
}
else
{
return;
}
现在我想弹出对话框时,如果没有插入usbkey,确定按钮就变灰色,直到插入了再变回来,这时用户点确定按钮就可以转到//do something了,无论何时都可以点取消按钮,然后就退出了。
已经写好检测usbkey的函数了 BOOL CheckKey() 我现在的想法是在对话框初始化的时候起一个线程,用轮询的方式调用CheckKey(),我没写过线程的函数 希望有人能指点一下 我这样可行吗 怎么写呢?
是不是还可以用定时器的方法呢?
这是一条镜像帖。来源:北邮人论坛 / cpp / #32867同步于 2009/12/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
求助 mfc起线程
lightman
2009/12/7镜像同步19 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
CreateThread :
http://msdn.microsoft.com/en-us/library/ms682453(VS.85).aspx
用timer也行
http://msdn.microsoft.com/en-us/library/ms644906(VS.85).aspx
可以直接用TimerProc 也可以处理WM_TIMER消息
【 在 lightman 的大作中提到: 】
: CInsertKey Dlg1;
: if (Dlg1.DoModal()==IDOK)
: {
: ...................
【 在 lightman 的大作中提到: 】
: CInsertKey Dlg1;
: if (Dlg1.DoModal()==IDOK)
: {
: ...................
为什么要用轮询呢 用信号量不挺好的
我从外部拿到你Popup出来的对话框 然后发一条EnableWindow的msg就能让确定按钮可点击
【 在 jmpesp 的大作中提到: 】
: 恩 小心加密狗被crack
【 在 coolwc 的大作中提到: 】
: 我从外部拿到你Popup出来的对话框 然后发一条EnableWindow的msg就能让确定按钮可点击
直接找到 CheckKey() 函数,把该函数直接改为return TRUE;那么无论如何都是注册的了
这个可以通过混淆和加壳来保护
【 在 jmpesp 的大作中提到: 】
: 直接找到 CheckKey() 函数,把该函数直接改为return TRUE;那么无论如何都是注册的了
【 在 coolwc 的大作中提到: 】
: 这个可以通过混淆和加壳来保护
加壳我脱之,实在不行我来个内存补丁
混淆相对麻烦点 但对付起来应该不会太难
实在不行我再伪造个加密狗dll hook相应函数
脱壳是有技术门槛的 不是一般人就能脱了的
即使你脱了壳 我如果混淆的好的话 你只能一步一步调试来找到我的CheckUSB函数
dll hook也是一样 你必须先调试来找到我的CheckUSB函数从而得到它的signature
然后才能去伪造它
【 在 jmpesp 的大作中提到: 】
: 加壳我脱之,实在不行我来个内存补丁
: 混淆相对麻烦点 但对付起来应该不会太难
: 实在不行我再伪造个加密狗dll hook相应函数