找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 133639|回复: 32

[其他] [发布]CWnd窗口控制[更新至1.3BETA]

[复制链接]
发表于 2009-8-29 09:43:44 | 显示全部楼层 |阅读模式
注意:本工具可能导致某些杀毒软件报毒,请自行斟酌是否使用。

CWnd是一个对窗口进行操作的第三方程序,在DEF的强力要求下抛弃了VS2008而改用VC6编写.

1.3BETA更新
增加了测试的X/Xwin操作,暂时没有写帮助..具体请各位在批处理中试一下这两个代码就可以了(VISTA用户如果用了感觉不好别骂我,根据WIN2003的DOS写的参数,试了以后可以自己改参数),不过还处于测试阶段...
  1. >nul CWnd F !
  2. set hWnd=%errorlevel%
  3. if "%hWnd%"=="0" echo Error!&pause&exit
  4. >nul CWnd X hWnd Rect 5 29 23 5
  5. if Errorlevel 0 echo Error!
  6. pause&exit
复制代码
  1. >nul CWnd F !
  2. set hWnd=%errorlevel%
  3. if "%hWnd%"=="0" echo Error!&pause&exit
  4. >nul CWnd X hWnd Elliptic 5 29 23 5
  5. if Errorlevel 0 echo Error!
  6. pause&exit
复制代码
1.2更新
总共包括16个操作:2个获取句柄操作+11个窗口操作+1个获取进程操作+2个进程操作.
增加最小化到托盘操作[暂时没有TIP,适用性也很差,主要是因为对于一些没有图标或者不使用默认窗口(比如大部分比较"漂亮"的聊天工具和浏览器等)的软件可能会不显示图标,我会加油改的...]
  1. Rtray/R操作
  2. 将指定窗口最小化到任务栏
  3. 例子:
  4. >nul CWnd Find !
  5. set hWnd=%errorlevel%
  6. if "%hWnd%"=="0" echo Error!&pause>nul&exit
  7. >nul CWnd Rtray hWnd
  8. >nul pause
复制代码
获取句柄操作:
  1. Find/F操作
  2. 查找标题或类名含有相同特征(大小写不敏感,暂时仅支持第一个*通配符或头尾*通配符)的所有窗口并隔行输出,返回值为第一个查找到的窗口句柄.
  3. Open/O操作
  4. 运行指定程序(支持参数),并返回该程序的窗口句柄.注意:请确认指定程序运行后存在窗口,否则可能会造成暂时的假死.
复制代码
窗口操作:
  1. Close/C操作
  2. 关闭指定窗口(发送WM_QUIT消息,非强制关闭,对一些窗口无效)
  3. Hide/H操作
  4. 隐藏指定窗口(后台运行)
  5. Show/S操作
  6. 显示指定窗口(前台运行)
  7. Title/T操作
  8. 修改指定窗口标题
  9. Get/G操作
  10. 获取指定窗口标题和类名(隔行输出)
  11. Disable/D操作
  12. 禁止指定窗口的指定功能(暂时支持禁止最小化,最大化,关闭按钮和直接移除标题栏)
  13. Enable/E操作
  14. 开启指定窗口的指定功能(上一步的逆操作)
  15. Move/M操作
  16. 移动指定窗口到指定位置并设置大小
  17. Alpha/A操作
  18. 改变指定窗口的透明度(有些程序不支持,CMD.EXE就是其中之一)
  19. Warning/W操作
  20. 闪烁窗口发出警告
复制代码
获取进程操作:
  1. Process/P操作
  2. 获取指定窗口的进程ID和可执行文件名
复制代码
进程操作:
  1. Image/I操作
  2. 获取指定进程的映像路径(包括命令行)
  3. Kill/K操作
  4. 强行中止指定进程
复制代码
示例:
任务栏透明化:
  1. @echo off
  2. >nul CWnd Find ClassName Shell_TrayWnd
  3. set hWnd=%errorlevel%
  4. IF "%hWnd%"=="0" echo Not Found!&pause>nul&exit
  5. CWnd Alpha hWnd 50
  6. IF "ERRORLEVEL"=="0" echo Error!&pause>nul
复制代码
隐藏批处理窗口:
  1. @echo off
  2. >nul CWnd Find !
  3. set hWnd=%errorlevel%
  4. IF "%hWnd%"=="0" echo Error!&pause>nul&exit
  5. CWnd Hide hWnd
  6. IF "ERRORLEVEL"=="0" echo Error!&pause>nul
复制代码
禁用批处理的关闭按钮:
  1. @echo off
  2. >nul CWnd Find !
  3. set hWnd=%errorlevel%
  4. IF "%hWnd%"=="0" echo Error!&pause>nul&exit
  5. CWnd Disable hWnd Close
  6. IF "ERRORLEVEL"=="0" echo Error!&pause>nul
复制代码
获取QQ的运行参数:
  1. @echo off
  2. >nul CWnd Find WindowName QQ*
  3. set hWnd=%errorlevel%
  4. IF "%hWnd%"=="0" echo Not Found!&pause>nul&exit
  5. >nul CWnd Process hWnd
  6. set hProc=%errorlevel%
  7. IF "%hProc%"=="0" echo Error!&pause>nul&exit
  8. CWnd Image %hProc%
  9. IF "ERRORLEVEL"=="0" echo Error!
  10. pause>nul
复制代码
在小强的提示下多加一句话:CMD属于特殊窗口,使用DISABLE参数时只能禁用CLOSE,而无法禁用MIN,MAX,也无法去除标题栏!

http://bcn.bathome.net/s/tool/index.html?key=CWnd

评分

参与人数 3PB +39 收起 理由
lxzzr + 8 好东西,不错!!
tireless + 11  
keen + 20 好东西,加分!

查看全部评分

发表于 2009-8-29 09:54:53 | 显示全部楼层
好东西 下来看看

强烈支持!!
发表于 2009-8-29 10:09:00 | 显示全部楼层
真是好东西呀

 楼主| 发表于 2009-8-29 11:58:01 | 显示全部楼层
多谢各位大大支持.... (*^__^*)
以后会加入更多支持,下一步是托盘和图标的修改..可惜想不到什么英语单词了...
发表于 2009-8-29 12:30:19 | 显示全部楼层
托盘图标修改,CTray有了。。。
Cust出来就支持气泡了。。。
发表于 2009-8-29 14:10:54 | 显示全部楼层
能否发布一个纯英文版本的(包括自带的帮助、顶楼的实例讲解等等)出来?
很多玩批处理的老外也需要这样的工具。
发表于 2009-8-29 14:19:33 | 显示全部楼层
原帖由 Batcher 于 2009-8-29 14:10 发表
能否发布一个纯英文版本的(包括自带的帮助、顶楼的实例讲解等等)出来?
很多玩批处理的老外也需要这样的工具。

我赞同此观点,全世界一起分享(C系列从来都是E文附带中文讲解)
 楼主| 发表于 2009-8-29 20:20:55 | 显示全部楼层
......能否借力于GOOGLE翻译?
否则就只能抄抄C系列的帮助了.....

[ 本帖最后由 Seter 于 2009-8-29 20:26 编辑 ]
 楼主| 发表于 2009-8-29 20:21:53 | 显示全部楼层
原帖由 defanive 于 2009-8-29 12:30 发表
托盘图标修改,CTray有了。。。
Cust出来就支持气泡了。。。

好吧...我想我或许可以做的比你更强大....
你这句话我理解有点问题...我说的是托盘和图标,你说的是托盘图标...一样不?

[ 本帖最后由 Seter 于 2009-8-29 20:25 编辑 ]
发表于 2009-8-29 23:54:31 | 显示全部楼层
cmd的图标Cico可以修改。。。
不过捏,等开学后,周末回来搞定cust。。。
发表于 2009-9-20 10:52:41 | 显示全部楼层
能否做到在启动一个程序时就修改它的标题?
发表于 2009-9-20 12:17:22 | 显示全部楼层
看看怎樣,下載的説,謝謝分享
发表于 2009-10-2 13:20:03 | 显示全部楼层
能否增加一个功能:最小化指定窗口到系统托盘
 楼主| 发表于 2009-10-2 18:40:18 | 显示全部楼层
原帖由 Batcher 于 2009-10-2 13:20 发表
能否增加一个功能:最小化指定窗口到系统托盘

技术上没有问题,时间上很有问题,估计到中考考好才有空...除非保送...
发表于 2010-4-24 22:56:32 | 显示全部楼层
学习了。。学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 23:21 , Processed in 0.024532 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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