# ControlFocus

在一个窗口特定的控件上设置输入焦点。

ControlFocus [, Control, WinTitle, WinText, ExcludeTitle, ExcludeText]

#### 参数

Control | 可以是控件的名称/文本或 ClassNN (控件的类名和序号)，它们都可以通过 Window Spy 来确定。当使用名称/文本时，匹配模式通过 SetTitleMatchMode 决定。如果此参数为空或省略，目标窗口的顶端控件将被使用。 要对一个控件的 HWND (窗口句柄)进行操作，将 Control 参数留空并为 WinTitle 参数指定 ahk_id %ControlHwnd% (这样即使当 DetectHiddenWindows 是 Off 状态，它也能对隐藏的控件起作用)。一个控件的 HWND 往往由 ControlGet Hwnd 、MouseGetPos 或 DllCall 取得。
WinTitle | 目标窗口的标题或副标题(匹配模式由 SetTitleMatchMode 决定)。如果此参数和后面的3个参数被省略，Last Found Window(最近找到的窗口) 将被使用。如果此参数是字母 A 并且后面的三个参数被省略，激活的窗口将被使用。要使用一个窗口类，指定 ahk_class 确切的类名(通过 Window Spy 显示)。要使用一个 process identifier (PID)(进程标识符)，指定 ahk_pid %包含PID的变量% 。要使用一个 window group(窗口组)，指定 ahk_group GroupName 。要使用一个窗口的 unique ID number(唯一标识符编号)，指定 ahk_id %包含ID的变量% 。通过指定 multiple criteria(多个条件) 缩小搜索范围。 例如：My File.txt ahk_class Notepad
WinText | 如果用到，此参数必须是目标窗口的一个单独 text element(文本对象)的 substring(子字串) (像内置的 Window Spy 工具显示的一样)。如果 DetectHiddenText 是 ON 的状态，隐藏的文本对象将被探测。
ExcludeTitle | 标题含有此参数值的窗口将不被考虑。
ExcludeText | 文本含有此参数值的窗口将不被考虑。

#### ErrorLevel

如果遇到一个问题 ErrorLevel 设为 1 ，否则是 0 。

#### 注意

要生效，控件的窗口一般来说必须不能最小化或者隐藏。

为了改善可靠性，在每次使用此命令后都自动地有一个延迟。这个延迟可以通过 SetControlDelay 来改变。

要探测鼠标当前悬停处的控件的名称，使用 MouseGetPos 命令。

窗口标题和文本是区分大小写的。隐藏的窗口将不被探测，除非 DetectHiddenWindows 已被打开。

#### 相关命令

SetControlDelay, ControlGetFocus, Control, ControlGet, ControlMove, ControlGetPos, ControlClick, ControlGetText, ControlSetText, ControlSend

#### 示例

    ControlFocus, OK, Some Window Title  ; 在 OK 按键上设置焦点

翻译：天堂之门 menk33@163.com 2008年8月12日