WinGetHandle

首页  后退  前进

WinGetHandle
down2

WinGetHandle

获取窗口内部句柄.

 

WinGetHandle ( "title" [, "text"] )

参数

title

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

text

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

返回值

成功:

返回目标窗口句柄.

失败:

设置 @error 设置为非 0 值, 没有符合要求的窗口.

备注

函数允许使用句柄指定窗口,而不使用"title"和"text"参数.

一旦获得句柄, 即使其名称被修改, 仍可以使用句柄访问该窗口.

 

函数示例

#include <MsgBoxConstants.au3>
Example()
Func Example()
    ; Run Notepad
    Run("notepad.exe")
    ; Wait 10 seconds for the Notepad window to appear.
    WinWait("[CLASS:Notepad]", "", 10)
    ; Retrieve the handle of the Notepad window using the classname of Notepad.
    Local $hWnd = WinGetHandle("[CLASS:Notepad]")
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "An error occurred when trying to retrieve the window handle of Notepad.")
        Exit
    EndIf
    ; Display the handle of the Notepad window.
    MsgBox($MB_SYSTEMMODAL, "", $hWnd)
    ; Close the Notepad window using the handle returned by WinGetHandle.
    WinClose($hWnd)
EndFunc   ;==>Example

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

 

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

参见:

WinSetTitle, WinList

例子
copy

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\(Копирование\)]')||_ViewValues('$var_h') ;; 获取后台或"队列"中Total Commander的"复制"窗口的句柄

 

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\(Переименование/перемещение\)]')||_ViewValues('$var_h') ;; 获取窗口描述符"重命名/移动"TC在后台或"队列"

 

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||_ViewValues('$var_h') ;; 在"后台"或"队列"中获取"复制"窗口或"重命名/移动"Total Commander的描述符

 

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||WinWaitClose(Eval('var_h')) infbx=InfoBox2 ;;获取"复制"窗口或"重命名/移动"后台或"队列"中的Total Commander的句柄等待窗口关闭并发送消息

 

exect=$var_h=WinGetHandle('[CLASS:#32770;REGEXPTITLE:.*\((Копирование|Переименование/перемещение)\)]')||WinWaitClose(Eval('var_h')) shutd=9 ;; 获取"复制"窗口或"重命名/移动"后台或"队列"中的Total Commander的句柄+等待窗口关闭并关闭计算机

 

exect=$var_handle=WinGetHandle('[CLASS:Notepad]')||$var_s=WinActive(Eval('var_handle'))?'активно':'не~~активно'||_ViewValues('$var_s') ;; 检查记事本窗口是否处于活动状态

 

exect=$var_handle=WinGetHandle('[CLASS:Notepad]')||$var_s=WinExists(Eval('var_handle'))?'существует':'не~~существует'||_ViewValues('$var_s') ;; 检查记事本窗口是否存在

 

exect=$var_handle=WinGetHandle('[CLASS:TTOTAL_CMD]')||$var_aclass=StringSplit(WinGetClassList(Eval('var_handle')),@LF)||_ViewValues($var_aclass) ;; 返回数组Total Commander元素的所有类

 

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||$var_a=WinGetPos(Eval('var_h'))||WinMove(Eval('var_h'),'''',10,10,200,300,20)||Sleep(3000)||WinMove(Eval('var_h'),'''',$var_a[0],$var_a[1],$var_a[2],$var_a[3],20) ;; 要移动Total Commander窗口,在3秒钟内返回窗口

 

exect=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetOnTop(Eval('var_h'),'''',1)||Sleep(3000)||WinSetOnTop(Eval('var_h'),'''',0) ;; 启用3秒窗口状态"置顶"Total Commander

 

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=$var_h=WinGetHandle('[CLASS:TTOTAL_CMD]')||WinSetTrans(Eval('var_h'),'''',192)||Sleep(3000)||WinSetTrans(Eval('var_h'),'''',255) ;; 持续3秒,使Total Commander窗口透明25%

 

exect=$var_handle=WinGetHandle('Безымянный~~~~Блокнот')||WinClose(Eval('var_handle')) ;; 通过其标题和关闭来定义窗口句柄

 

exect=_SendM(WinGetHandle('[CLASS:AkelPad4]'),273,4157,0) ;; 选择所有在AkelPad

 

exect=$var_h=WinGetHandle('[CLASS:Notepad]') iconw=$var_h||TCIMG.dll,8 ;; 将记事本窗口设置为指定的图标(将窗口的命令传递给命令)

 

exect=$var_htc=WinGetHandle('[CLASS:TTOTAL_CMD]')||_ViewValues('$var_htc') ;; 得到Total Commander的句柄

 

exect=$var_h=_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,1,0)||_ViewValues('$var_h') ;;得到左文件面板的描述符(TC9及以上)

 

exect=$var_h='0x'&Hex(_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,1,0))||_ViewValues('$var_h') ;; 获取左文件面板的十六进制描述符(TC9及以上)

 

exect=$var_h=_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,2,0)||_ViewValues('$var_h') ;;获取正确的文件面板的手柄(TC9及以上)

 

exect=$var_h='0x'&Hex(_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,2,0))||_ViewValues('$var_h') ;; 获取正确文件面板的十六进制文件描述符(TC9及以上)

 

exect=$var_h=_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,3,0)||_ViewValues('$var_h') ;; 获取活动文件面板的描述符(TC9及以上)

 

exect=$var_h='0x'&Hex(_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,3,0))||_ViewValues('$var_h') ;; 获取活动文件面板的十六进制描述符(TC9及以上)

 

exect=$var_h=_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,4,0)||_ViewValues('$var_h') ;; 获取非活动文件面板的句柄(TC9及以上)

 

exect=$var_h='0x'&Hex(_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,4,0))||_ViewValues('$var_h') ;; 获取Hex非活动文件面板(TC9及以上)

 

exect=$var_h=_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,5,0)||_ViewValues('$var_h') ;; 获取左文件面板的标题的句柄(TC9及以上)

 

exect=$var_h='0x'&Hex(_SendM(WinGetHandle('[CLASS:TTOTAL_CMD]'),1074,5,0))||_ViewValues('$var_h') ;; 获取左文件面板的十六进制句柄描述符(TC9及以上)

 

exect=$var_h=WinGetHandle('[CLASS:AkelPad4]')||$var_n=Number(_SendM(Eval('var_h'),1222,153,0))||$var_i=$var_n=1?_SendM(Eval('var_h'),273,4256,0):0 start=%%COMMANDER_PATH%%\AkelFiles\Tools\AkelPadMin\AkelPadMin.exe||%P%N||&&procwait exect=$var_i=$var_n=1?_SendM(Eval('var_h'),273,4256,0):0 ;; 在AkelPadMin下的光标下打开文件,忽略已经运行AkelPad的设置"程序的一个副本"

up2

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