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