[原创]Window按钮突破专家功能之VB实现
网上有一位朋友做了一个叫"Window按钮突破专家"的小程序,可以实现把当前焦点窗口内灰色钮变为可用状态的功能.这个功能说来是不难的,其中的关键API就是EnableWindow.
使用它就可以控制指定句柄的控件的"Enable"属性(相对VB中控件)
我用VB也做了一个这样的小程序,里面的关键代码如下:Public Sub GoEnable(hWndParent As Long)
Dim hWndChild As Long
hWndChild = GetWindow(hWndParent, GW_CHILD Or GW_HWNDFIRST)
Do While hWndChild <> 0
EnableWindow hWndChild, 1
GoEnable hWndChild
hWndChild = GetWindow(hWndChild, GW_HWNDNEXT)
Loop
End Sub这个子程序只要向它传递一个主窗体句柄,就可以自动把此句柄下所有控件都变为可用.
具体请看代码.
以下是本程序的VC++版:
http://www.m5home.com/bbs/thread-873-1-1.html
<P>虽然对api懂的好少</P><P>学学 呵呵 </P> 这个程序是一个对逻辑思维有考验的例子,建议自己去试着实现一下. <P>这就是一个典型的递归应用.</P> <P>很多地方会用到递归的.</P><P>这种方法很有用的</P> 高手 呵呵顶顶顶虚心请教!!!!!!!!!!! <P>wname应该是窗口标题吧?</P><P>这段代码做成一个递归函数,列出的应该是当前所有窗口的标题.</P> 尽管试试,呵呵. 也可以有选择,不过那样的话,我有两个思路,你看看:
一,列举出目标窗体上所有可操作控件的句柄与主从关系,放在一个TREEVIEW里,由用户控制;
二,那就是直接用鼠标移动到目标控件上,用热键操作.
你觉得用哪种好呢?
呵呵,其实大家可以自己试着去做! 唉,如果只是想下载东西,就不用浪费大家的时间来注册了!!!
游客用户名请参见以下地址:
http://www.m5home.com/bbs/announcements.asp?action=showone&boardid=0 哈哈,这个小东西还是很有意思吧? 是呀~~一个论坛里总会有这样的人的。
现在我这里也没有什么技术讨论了,唉~~~~~ 不是吧??? <p>控件其实就是一个子窗体</p><p>具体请看代码,使用了递归,所有子窗体都应该可以被找出来.</p>
页:
[1]