找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 22873|回复: 13

[开源] [原创]Window按钮突破专家功能之VB实现

[复制链接]

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2005-4-22 12:23:15 | 显示全部楼层 |阅读模式
网上有一位朋友做了一个叫"Window按钮突破专家"的小程序,可以实现把当前焦点窗口内灰色钮变为可用状态的功能.

这个功能说来是不难的,其中的关键API就是EnableWindow.

使用它就可以控制指定句柄的控件的"Enable"属性(相对VB中控件)

我用VB也做了一个这样的小程序,里面的关键代码如下:
  1. Public Sub GoEnable(hWndParent As Long)
  2. Dim hWndChild As Long


  3. hWndChild = GetWindow(hWndParent, GW_CHILD Or GW_HWNDFIRST)


  4. Do While hWndChild <> 0
  5.     EnableWindow hWndChild, 1
  6.     GoEnable hWndChild
  7.     hWndChild = GetWindow(hWndChild, GW_HWNDNEXT)
  8. Loop
  9. End Sub
复制代码
这个子程序只要向它传递一个主窗体句柄,就可以自动把此句柄下所有控件都变为可用.

具体请看代码.

MMQOPZRg.rar (38.61 KB, 下载次数: 39340)
 
以下是本程序的VC++版:
 
http://www.m5home.com/bbs/thread-873-1-1.html
我就是嗷嗷叫的老马了......

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
发表于 2005-4-22 13:24:08 | 显示全部楼层
<P>虽然对api懂的好少</P><P>学学 呵呵 </P>
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-5-10 23:51:32 | 显示全部楼层
这个程序是一个对逻辑思维有考验的例子,建议自己去试着实现一下.
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-6-10 12:13:56 | 显示全部楼层
<P>这就是一个典型的递归应用.</P>
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-6-10 12:21:27 | 显示全部楼层
<P>很多地方会用到递归的.</P><P>这种方法很有用的</P>
我就是嗷嗷叫的老马了......

54

主题

345

回帖

0

精华

铂金会员

天马行空

积分
2205
发表于 2005-6-10 18:33:03 | 显示全部楼层
高手   呵呵  顶顶顶虚心请教!!!!!!!!!!!
爱情是狗屁,不如好好去努力, 享受生活才是快乐的真谛! 本人比较菜,多多指教!

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-6-24 22:59:55 | 显示全部楼层
<P>wname应该是窗口标题吧?</P><P>这段代码做成一个递归函数,列出的应该是当前所有窗口的标题.</P>
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-10-22 21:21:10 | 显示全部楼层
尽管试试,呵呵.
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-11-10 14:17:36 | 显示全部楼层
也可以有选择,不过那样的话,我有两个思路,你看看:

一,列举出目标窗体上所有可操作控件的句柄与主从关系,放在一个TREEVIEW里,由用户控制;

二,那就是直接用鼠标移动到目标控件上,用热键操作.

你觉得用哪种好呢?

呵呵,其实大家可以自己试着去做!
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-12-8 00:48:24 | 显示全部楼层
唉,如果只是想下载东西,就不用浪费大家的时间来注册了!!!

游客用户名请参见以下地址:

http://www.m5home.com/bbs/announcements.asp?action=showone&boardid=0
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2005-12-27 15:46:20 | 显示全部楼层
哈哈,这个小东西还是很有意思吧?
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2006-2-8 18:46:14 | 显示全部楼层
是呀~~一个论坛里总会有这样的人的。

现在我这里也没有什么技术讨论了,唉~~~~~
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2006-4-15 19:52:48 | 显示全部楼层
不是吧???
我就是嗷嗷叫的老马了......

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
 楼主| 发表于 2007-6-26 01:50:11 | 显示全部楼层
<p>控件其实就是一个子窗体</p><p>具体请看代码,使用了递归,所有子窗体都应该可以被找出来.</p>
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表