I haven't done VBS in so long, but you got the right idea. You will need a method or builtin function that gets system time. Have a var to keep track of the system time, and do a difference on the last logged time.
pseudo code:
old_time = system.getCurrentTime()
new_time = 0
passed_time = 0
end_time = 60000 //because most all system times keep track in miliseconds
while passed_time < end_time:
shell.SendKey "w"
new_time = system.getCurrentTime()
passed_time = old_time - new_time
old_time = new_time
Something along those lines. There probably is a more efficient way to do it like this; such as comparing the difference in the while loop check.
For more detail/better help, look up how videogames keep track of FPS.