c# - enviar - vb net sendkeys string
Enviar clave de Windows usando SendKeys (2)
Alt + F4 trabaja solo entre paréntesis
SendKeys.SendWait("(%{F4})");
Estoy trabajando en atajos en C #. Logro implementar Ctrl, Alt y Shift con SendKeys.
Me gusta esto;
Ctrl + C :
System.Windows.Forms.SendKeys.SendWait("^c");
o Alt + F4 :
System.Windows.Forms.SendKeys.SendWait("%{F4}");
Pero no puedo enviar "Windows Key" con SendKeys. Intenté ex: Win + E : .SendWait("#e")
pero no está funcionando. ¿Qué debo usar en lugar de "#"?
Gracias.
OK resulta que lo que realmente quieres es esto: http://inputsimulator.codeplex.com/
Lo que ha hecho todo el trabajo duro de exponer los métodos Win32 SendInput
a C #. Esto le permite enviar directamente la tecla de Windows. Esto se prueba y funciona:
InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_E);
Sin embargo, tenga en cuenta que en algunos casos desea enviar específicamente la clave a la aplicación (como ALT+F4
), en cuyo caso utilice el método de biblioteca de Form
. En otros, desea enviarlo al sistema operativo en general, use lo anterior.
Antiguo
Manteniendo esto aquí como referencia, no funcionará en todos los sistemas operativos y no siempre se comportará como usted quiere. Tenga en cuenta que está intentando enviar estos golpes de tecla a la aplicación, y el sistema operativo generalmente los intercepta antes. En el caso de Windows 7 y Vista, demasiado pronto (antes de que se envíe la E
).
SendWait("^({ESC}E)")
o Send("^({ESC}E)")
Nota desde aquí: http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx
Para especificar que cualquier combinación de MAYÚS, CTRL y ALT debe mantenerse presionada mientras se presionan otras teclas, encierre el código de esas teclas entre paréntesis. Por ejemplo, para especificar mantener presionado MAYÚS mientras se presionan E y C, use "+ (EC)". Para especificar mantener presionado SHIFT mientras se presiona E, seguido de C sin SHIFT, use "+ EC".
Tenga en cuenta que, dado que desea presionar ESC
y (por ejemplo) E
al mismo tiempo, debe encerrarlos entre corchetes.