I have tried this in Visual Studio 2008 with XP and Windows 7:
SendKeys.SendWait("sometext{ENTER}{ENTER}")
This is for opening a file in an open file dialog box. It works on XP with VS2008, but when I try on Windows 7, it seems that the {ENTER} keys are not going through.
Is there a known issue with this, or am I doing something wrong?
Use SendWait to send keystrokes or combinations of keystrokes to the active application and wait for the keystroke messages to be processed. You can use this method to send keystrokes to an application and wait for any processes that are started by the keystrokes to be completed.
To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)".
There are two methods to send keystrokes to an application: SendKeys. Send and SendKeys. SendWait. The difference between the two methods is that SendWait blocks the current thread when the keystroke is sent, waiting for a response, while Send doesn't.
this should work, you can try using \n as well:
System.Windows.Forms.SendKeys.SendWait("Hello World{ENTER}Testing\n");
This does work on my windows 7 machine. The problem you're having is most likely with the application you're attempting to send the keys to is running under a different privileged account (eg: as Administrator). This will prevent a user level application from sending the keys, unless you run your application as an Administrator as well. Try running Visual Studio as Administrator and testing your code again.
Right click Visual Studio -> Run As Administrator
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With