如何使用AutoIt X3发送组合键(Ctrl + O)?

时间:2016-04-07 13:33:27

标签: c# .net winforms autoit

我正在使用这种方法:

private void AutomationIt(string command)
{
    Process[] process = Process.GetProcessesByName("myprocess");

    SetProcessWindow.BringToFront(process[0].Id);
    SetProcessWindow.CenterProcessWindow(process[0].Id); 

    if (process.Length == 0) 
        return;

    if (AutoIt.AutoItX.WinExists(processTitle, "") == 0) // Window not found
    {
        int processId = AutoIt.AutoItX.Run(processFileName, "", AutoIt.AutoItX.SW_SHOW);

        SetProcessWindow.BringToFront(processId);
        SetProcessWindow.CenterProcessWindow(processId);

        AutoIt.AutoItX.MouseClick("LEFT", 370, 930, 1, -1);
        AutoIt.AutoItX.ControlSend()
    }
    else
    {
        Process[] processes = Process.GetProcessesByName(processName);

        SetProcessWindow.BringToFront(processes[0].Id);
        SetProcessWindow.CenterProcessWindow(processes[0].Id);

        AutoIt.AutoItX.MouseClick("LEFT", 370, 930, 1, -1);
    }
}

我使用了MouseClick属性,但现在我想使用ControlSend属性。

AutoIt.AutoItX.ControlSend()

问题是这个属性应该有3个参数:

intPtr winHandle, intPtry controlHandle, string sendText

我不知道如何获得这些参数。 关于sendText我在其他问题中看到有人回答使用:

ControlSend(strings.TerminalName, "", "SysListView321", "^!!{F6}");

所以^!!意味着Ctrl + F6 ???所以,如果我想制作Ctrl + O? 在我的情况下,应该是两个第一个参数?