vbs key press script - vbscript

I am trying to write a script in vbs that will press Ctrl+Shift+R
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "Summit.Scripting.Toolkit.exe"
wscript.sleep 2000
WshShell.SendKeys "+^r"
So far I was able to get the script to activate/select the application but unfortunately the key presses do not seem to work
Referencing another website I see Ctrl key is ^
and Shift key is +
and r is r
but it doesn't seem to run the combination correctly
5/25/18
I made some changes to my code, I seem to be getting closer to figuring it out.
#echo off
forfiles -p "C:\Program Files (x86)\SummitHealthcare\CommonFiles\TextOut" -s -m *.log /D -0 /C "cmd /c del #path"
wscript.sleep 2000
cd "C:\Program Files (x86)\SummitHealthcare\Scripting Toolkit 7\Projects"
start Single_BARCommentsDBwithLoop23.ssc
wscript.sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F10}"
wscript.sleep 2000
WshShell.SendKeys "{r}"
I have the code delete old cache files for the application, Then the script waits, Opens up the application then waits again
then makes the keystrokes F10 and r to start the application.
For some reason the keystrokes do not seem to be registering.
I've Tried separating the key strokes to its own script and it works fine.
I've tried making the wait longer.
I've also tried adding the code below to select and make sure the application is active. Adding this code seems to break the entire code.
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate "Summit.Scripting.Toolkit.exe"
Some code must be conflicting.

If you're going to press the "r" key, you should use this code:
wscript.sleep 2000
cd "C:\Program Files (x86)\SummitHealthcare\Scripting Toolkit 7\Projects"
start Single_BARCommentsDBwithLoop23.ssc
wscript.sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F10}"
wscript.sleep 2000
WshShell.SendKeys "r"#echo off
forfiles -p "C:\Program Files (x86)\SummitHealthcare\CommonFiles\TextOut" -s -m *.log /D -0 /C "cmd /c del #path"
wscript.sleep 2000
cd "C:\Program Files (x86)\SummitHealthcare\Scripting Toolkit 7\Projects"
start Single_BARCommentsDBwithLoop23.ssc
wscript.sleep 1000
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F10}"
wscript.sleep 2000
WshShell.SendKeys "r"
You're sending the key stroke as a character, so you would want to press "r" rather than "{r}"
Now, I did start learning/experimenting with VBS like 3 days ago, but I think that this code would work a bit better.

I had a similar question: VBScript sendkeys, Trying to do CTRL+ALT+A
The only things I could find is to use a powershell script that send the keys combination and run it from your VBScript.
The VBS "WshShell.SendKeys" doesn't work every time. For the example in the link, when I was using the command, it worked like 1 time out of 4 or 5 (it's not reliable)

Related

Login batch working only after duplicate run

So i'm trying to make a simple script (path and program name is not important, because it's "running"):
kill\pv.exe -kf myprogram*.exe
kill\pv.exe -kf myprogram1*.exe
xcopy \\nt\folder.drv\myprogram\new\*.* "c:\myprogram" /s /e /h /r /d /y
if errorlevel 0 myprogram.exe & wscript login.vbs
I made also a "login" vbscript:
set wshShell = WScript.CreateObject("WSCript.shell")
wscript.sleep 1000
wshShell.sendkeys "password"
wscript.sleep 2000
wshShell.sendkeys "{ENTER}"
WScript.Quit
So, if i run the .bat file once, the program is starting.. but somehow "vbscript" is not working. So it is not logging in.
IF i start once more the .bat file (while the old one is running), the program runs.. and also the scipt "gives" the password and "hits" enter.. Any ideas what's going on ?

how to start minecraft with vbs?

I'm working with a startup on my computer and I'm wondering how to start Minecraft with vbs.
Here is the code I have:
Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.sleep 200
wshshell.Run "chrome.exe"
WScript.sleep 200
wshshell.Run "start minecraft here"
WScript.sleep 200
WshShell.Run "C:\Users\username\Desktop\"
WScript.sleep 200
WshShell.Run "C:\Users\username\Desktop\Discord.lnk"
WScript.sleep 999
WshShell.Run "TASKKILL /F cmd.exe /T"
i only want it so it start Minecraft launcher. The problem for me is can't find it. I have try to start it with a shortcut some I have on the desktop. and if you see any more problems with my code so say that to, I'm new on vbs.
An easy workaround is simply to move the minecraft installation out from the Program Files (x86) folder to something that requires a bit less rights. This worked for me.

Simulating enter key in Command Prompt is not working

Set WshShell = CreateObject("WScript.shell")
WshShell.Run "cmd /K cd /d D:\Path\&abcd.bat"
wait 5
WshShell.SendKeys "{ENTER}"
The line
WshShell.Run "cmd /K cd /d D:\Path\&abcd.bat"
is working fine, runs the abcd.bat file (runs the file, then command prompt asks to press the enter key), but pressing Enter
WshShell.SendKeys "{ENTER}"
is not working. QTP/UFT is not doing anything and skips this line of code and moves to next line.
I tried
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "~"
WshShell.SendKeys "(Chr(13))"
Nothing worked.
Try
WshShell.SendKeys "~"
Sometimes this works where {ENTER} doesn't. Don't ask me why.
Instead of initializing an 'WScript.Shell', you could use the standard functionality of UFT/QTP:
SystemUtil.Run "D:\Path\To\batch.bat"
Have an look at the official SystemUtil Reference: SystemUtil Object

notepad loop created automatically with VBScript

I've created a VBScript to open notepad and write Hello. But it is opening notepad again and again
my code is:
WScript.Sleep 1000
Set WshShell=WScript.CreateObject("WScript.Shell")
WshShell.Run "notepad"
WScript.Sleep 100
WshShell.AppActivate "Notepad"
WScript.Sleep 500
WshShell.SendKeys "Hello"
WScript.Sleep 500
Did you name your script notepad.vbs? please change the name, or
WshShell.Run "notepad.exe"
If no full path specified, windows will try to find the program in the working directory first instead of %PATH%.

Batch File to call VBS which sends keys to application

So I am trying to make a batch file that will download your search history. In doing this I need to use the keys Ctrl+A and Ctrl+S along with typing the name of the file. I just need to find a way to have the code automatically carry out the action of selecting all the history by Ctrl+A and saving it by Ctrl+S and then naming it scarra history.
I have a folder containing 4 files:
Scarra.bat
ChromeHistoryView.exe
Sendkeys.bat
Sendkeys.vbs
Scarra.bat is as follows:
call ChromeHistoryView.exe
call sendkeys.bat
pause
Sendkeys.vbs is as follows:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^a"
Sendkeys.bat is as follows, this is what I use to try to call the bat:
wscript "sendkeys.vbs"
Add this to Sendkeys.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "^a"
WScript.Sleep 1000
WshShell.SendKeys "^s"
WScript.Sleep 2000
WshShell.SendKeys "scarra history"
Change Sendkeys.bat to
cscript sendkeys.vbs

Resources