转载注明来源:http://bbs.mocwww.com(妖城论坛)
并非单单按钮,只要是windows窗体类有句柄的都可以激活。
就是将其从不可用状态弄成可用状态
这里先说一下大概实现的步骤,一会把完整的delphi
源码放到论坛里大家下载。
灰色按钮克星的实现流程是当你将鼠标焦点转到某个包含有未激活控件的窗口时,
程序会自动激活其中所有的灰色控件。
这样我们就必须用一个定时器,timer来不停的检测当前窗体。
代码实现均在timer的ontimer事件里
首先用API函数getforegroundwindow()获取当前焦点窗体的句柄。
然后用enumchildwindows函数配合EnumChildProc这个API回调函数来枚举这个窗体句柄下所有的控件句柄。
在EnumChildProc当中可以自定义处理代码,获取子窗体控件句柄,然后就简单了
对每个枚举到的子窗体控件句柄进行激活操作
同样使用API函数enablewindow(ahwnd,true);来激活每个控件~
这样就是灰色按钮激活专家的实现原理。