# _Win Class
1. 是一個**靜態類**, 不提供構造器
2. 主要包含針對單個窗口的各種操作
[TOC]
## 內部類 InnerClass
### Path
Path 類,可以通過及構造方法迅速的獲得包含`name`和`path`兩種數據的對象。
由于ahk不支持通過路徑操作窗口,而支持通過進程名(name)操作,所以將它們綁定在一起非常有利于使用。
構造方法,從外部直接調用比較麻煩,可讀性比較差,可以通過 `_Win.getPathObj() ` 調用。
- **Method:**
__New(aPath)
- **Filed:**
name:="",path:=""
## 域 Field
### 常量 Const
### 變量 Variate
## 方法 Method
### Analyze(InputWinTitle,EnableWinText:=false)
#### 參數 Parameters:
- InputWinTitle - 目標窗口的 `WinTitle`
- EnableWinText - 是否檢測 `WinText`
#### 返回 Returns:
Obj 或者 false
- 如果窗口不存在,那么就返回 `false`
- 包含以下 Key
```autohotkey
WinTitle,Class,ProcessName,Id,Path
WinClass := "ahk_class " Class
WinProcessName := "ahk_exe " ProcessName
WinPId := "ahk_id " Id
WinPath := "WinPath: " Path
```
#### 示例 Example
```autohotkey
Obj:=_Win.Analyze(WinTitle)
```
### getIdByPath(aWinPath,aDetectHiddenWindows:="")
通過路徑獲取窗口ID
### SwapDetectHidden()
環保型“窗口隱藏設置”切換
- 用于切換 `A_DetectHiddenWindows`
- **那為什么不直接切換呢?**
- 主要是可以實現:在某個方法中切換,但是不污染環境。也就是說方法執行完之后又改回原來的。
- **那具體怎么操作呢?**
- 需要在方法的頭部和尾部分別使用兩個語句。代碼在后面的示例中有貼。
```autohotkey
;SwapDetectHidden()使用案例
/*
獲取窗口ID(HWND)列表收集器(數組形式)
*/
WinGetList(WinTitle,aDetectHiddenWindows:=""){
;頭
aFuncId:=getFuncId(A_ThisFunc)
_Win.SwapDetectHidden(aFuncId,aDetectHiddenWindows)
;....................
;尾 _Win.SwapDetectHidden(aFuncId,aDetectHiddenWindows)
return ...
}
```
- 指南 (README)
- 常見問題 (FAQ)
- 更新歷史(CHANGELOG)
- 貢獻指南 (CONTRIBUTING)
- 開源協議 (LICENCE)
- 鳴謝 (ACKNOWLEDGEMENT)
- 文檔模板 (TEMPLATE)
- 新手指南(BEGINNER_GUIDE)
- 語法高亮(HIGHLIGHTING)
- Class
- _Container
- _EX
- _List
- _Map
- _Win
- _Wins
- BeanEnum
- HotString
- HotStringMaps
- InvisibleCharacter
- JSON
- JsonFile
- Method
- ObservableMap
- ObservableObj
- WinEvent
- Timer
- MesToast
- APPLocker
- AutoClassify
- Everything
- Function
- Ini
- AutoInputBox
- ParaChecker
- PathObj
- RunningSpeedTest
- Script
- Switcher
- Stack
- TimeChecker
- Type
- UMSS
- Function
- assert()
- Analyze()
- AnalyzeClassName()
- AutoBind()
- bulkMoveFile()
- ExcelToList()
- getClass()
- getCurrentTime()
- getFunc()
- Instanof()
- InstanceCheck()
- loadMethod()
- LogPrintln()
- rawCall()
- RandomStr()
- showObj()
- Type()
- throwWithSt()
- UseCMD()
- ObjDump()
- Test
- ObjLoad()
- StringMethod
- TypeClass
- MapFactory()