返回列表 发帖

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

注意:本工具可能导致某些杀毒软件报毒,请自行斟酌是否使用。

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

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

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

评分人数

感谢分享~~~~~~~

TOP

感谢分享。
事实再次证明,发帖求助时设置一个意义明确的标题,作用的是非常大的。

TOP

看看咯哈哈哈
问道

TOP

试试看,好用不

TOP

回复 1# Seter

TOP

这个7K的也报毒怎么搞?大部分软件都报毒,还能放心的使用不?

TOP

McAfee 直接当成病毒杀掉

TOP

谢谢broly  试验成功  呵呵。

TOP

回复 26# hai625


    把它放在system32目录下就可以了
---学无止境---

TOP

谢谢啦!!!真需要

TOP

自动启动时,读不出CWnd,说是无效的。

TOP

为什么只能在文件夹下 双击bat文件使用。添加到启动里就不能使最小化按钮失效了。

TOP

“5K的可能报毒,7K的不报”

……哪有5K和7K的????

TOP

回复 8# Seter
自我介绍下
我来自马来西亚
所以能读懂和看懂英文
我应该可以帮忙翻译(我今年13而已,有时候可能不得空~)

TOP

返回列表