c# automation autoit keystroke

c# - Simule la tecla "Windows" y la tecla "+" para acercar



automation autoit (3)

Casi lo hiciste bien ... la sintaxis real es Enviar ("{LWIN DOWN}" y "+" y "{LWIN UP}").

Windows 7 (finalmente) tiene una función de zoom incorporada para la pantalla. Mantenga presionada la tecla "Windows" y luego puede usar la tecla "+" para acercar y la tecla "-" para alejarse. Como resultado, he estado tratando de simular esta combinación. Con AutoIt lo he intentado:

1)

Send("{LWINDOWN}" & "+" & "{LWINUP}")

2)

$x = Chr(43) Send("{LWINDOWN}" & $x & "{LWINUP}")

3)

Send("#{+}") ;//works but it also sends "+" key

4)

Send("{LWINDOWN}") Sleep(10) Send("+",1) Sleep(10) Send("{LWINUP}")

Ninguno de esos 4 pasos funciona ...

De hecho, quiero usar esta funcionalidad en c #. Si consigo hacerlo con autoit, podría invocar ese script con c #, así que no me importa el lenguaje. También estoy simulando pulsaciones de teclas porque no sé cómo podré acercar usando c #.


Importe la biblioteca ubicada en:

http://inputsimulator.codeplex.com/

entonces hazlo:

WindowsInput.InputSimulator.SimulateKeyDown (WindowsInput.VirtualKeyCode.LWIN); WindowsInput.InputSimulator.SimulateKeyPress (WindowsInput.VirtualKeyCode.OEM_PLUS); WindowsInput.InputSimulator.SimulateKeyUp (WindowsInput.VirtualKeyCode.LWIN);


Puedes hacer algo como esto

SendKeys.SendWait("{F1}");

Si desea llamarlo a alguna ventana, puede usar

[DllImport("user32.dll")] public static extern int SetForegroundWindow(IntPtr hWnd);

y entonces

Process[] processes = Process.GetProcessesByName("Some.exe"); foreach(Process proc in processes) { SetForegroundWindow(proc.MainWindowHandle); SendKeys.SendWait("{F1}"); }