WinSetState

首页  后退  前进

WinSetState
down2

WinSetState

显示, 隐藏, 最小化, 最大化或还原窗口.

 

WinSetState ( "title", "text", flag )

参数

title

目标窗口标题, 或句柄, 或类名. 参考 窗口标题与文本.

text

目标窗口文本. 默认值为空字符串. 参考 窗口标题与文本.

flag

设置窗口的执行状态:

   @SW_HIDE = 隐藏窗口

   @SW_SHOW = 显示以前隐藏的窗口

   @SW_MINIMIZE = 最小化窗口

   @SW_MAXIMIZE = 最大化窗口

   @SW_RESTORE = 撤销窗口的最小化或最大化

   @SW_DISABLE = 禁用窗口

   @SW_ENABLE = 启用窗口

返回值

成功:

返回 1.

失败:

返回 0, 目标窗口不存在.

备注

若同时有多个窗口符合匹配条件, 则使用最近激活的窗口.

@SW_MINIMIZE 与 @SW_MAXIMIZE 对于对话框模式窗口照样有效.

 

函数示例

Example()
Func Example()
    ; Run Notepad
    Run("notepad.exe")
    ; Wait 10 seconds for the Notepad window to appear.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)
    ; Set the state of the Notepad window to "hide".
    WinSetState($hWnd, "", @SW_HIDE)
    ; Wait for 2 seconds.
    Sleep(2000)
    ; Set the state of the Notepad window to "show".
    WinSetState($hWnd, "", @SW_SHOW)
    ; Wait for 2 seconds.
    Sleep(2000)
    ; Close the Notepad window using the handle returned by WinWait.
    WinClose($hWnd)
EndFunc   ;==>Example

----------------------------------------

 

该函数可以通过命令调用 exect

参见:

WinGetState, ControlHide, WinActivate, WinClose, WinFlash, WinKill, WinMinimizeAll, WinMinimizeAllUndo, WinMove, WinSetOnTop

例子
copy

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetState(Eval('var_h'),'''',@SW_HIDE)||Sleep(3000)||WinSetState(Eval('var_h'),'''',@SW_SHOW) ;; 3秒钟隐藏Total Commander窗口

 

exect=Run('notepad.exe')||$var_h=WinWait('[CLASS:Notepad]','''',5)||WinSetState(HWnd($var_h),'''',@SW_MINIMIZE) ;; 开始"记事本",等待出现并关闭

 

infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),'''',@SW_MINIMIZE) <NEXT> ;; 使用指定的进程名称notepad.exe最小化窗口

 

infos=2||9||notepad.exe||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),'''',@SW_RESTORE) <NEXT> ;;使用指定的进程名称notepad.exe恢复最小化的窗口

 

infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),'''',@SW_MINIMIZE) <NEXT> ;; 最小化剪贴板查看器(命令textv)

 

infos=2||9||TCIMG.exe||textv=x||1 <FOR> 1 <TO> GLOBALINFOS1<0> exect=WinSetState(HWnd('GLOBALINFOS1<:INDEX:>'),'''',@SW_RESTORE) <NEXT> ;; 展开剪贴板查看器的最小化窗口(命令textv)

 

exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]','''',@SW_HIDE) ;; 隐藏窗口

 

exect=WinSetState('[CLASS:TfrmTabber.UnicodeClass]','''',@SW_SHOW) ;; 显示以前隐藏的窗口

up2

tcimage © Аверин Андрей для Total Commander Image Averin-And@yandex.ru