2016-04-07 24 views
-2

Ben bu yöntemi kullanıyorum: AutoIt X3'ü kullanarak bir tuş bileşimini (Ctrl + O) nasıl gönderebilirim?

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); 
    } 
} 

ben MouseClick özelliği kullanılan ama şimdi ControlSend özelliğini kullanmak istiyorum.

AutoIt.AutoItX.ControlSend() 

sorun bu özellik 3 parametre almak gerektiğidir:

intPtr winHandle, intPtry controlHandle, string sendText

bu parametrelerin nasıl emin değilim. Diğer soru birisi gördü sendText Hakkında kullanmak cevap verdi:

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

Yani ^!! anlamı Ctrl + F6 ??? Yani Ctrl + O yapmak istiyorsam? Ve benim durumumdaki ilk iki parametre ne olmalı? İşte

cevap