Solved

Alt Tab multiple times in VB2005 with a program...

Posted on 2009-07-15
3
307 Views
Last Modified: 2012-05-07
So I've been working on this for awhile, but what I need to happen is I have these applications open ( Internet Explorer, Outlook, VBA, VB, Calculator...) and I want my program to just tab through them all. So if I have 4 programs open, it should tab 3 times, and then tab 3 times repeatedly and it would go through each of the tabs and I was putting this in a loop that basically never ends because I want to do it until the user shuts it down.

I've tried so many pieces of code and none of them have worked, including mine which I think doesn't work because it only recognizes alt tabbing once.

Any help would be so appreciated. :(
Public Class Form1
 
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
 
    End Sub
    Sub Delay(ByVal dblSecs As Double)
        Const OneSec As Double = 1.0# / (1440.0# * 60.0#)
        Dim dblWaitTil As Date
 
        dblWaitTil = Now.AddSeconds(OneSec).AddSeconds(dblSecs)
        Do Until Now > dblWaitTil
            Application.DoEvents() ' Allow windows messages to be processed
        Loop
 
    End Sub
 
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 
 
        Dim i As Integer
        ' Dim j As Integer
        i = 0
 
        Dim windowszzz As Integer
        windowszzz = 1
 
        For i = 0 To windowszzz
            'Delay(5)
            ' For j = 0 To i
            SendKeys.Send("%{TAB}")
            Delay(5)
            SendKeys.Send("%{TAB}{TAB}")
            Delay(5)
            SendKeys.Send("%{TAB}{TAB}{TAB}")
            Delay(5)
            SendKeys.Send("%{TAB}{TAB}{TAB}")
            Delay(5)
            SendKeys.Send("%{TAB}{TAB}{TAB}")
            'Next
        Next
 
    End Sub
End Class

Open in new window

0
Comment
Question by:jdoheny
  • 2
3 Comments
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 24864053
"...it only recognizes alt tabbing once."

Try one of these:

(1) Put "@" in front of all of them:

    SendKeys.Send("%{TAB}@{TAB}@{TAB}")

(2) Group them together with parenthesis:

    SendKeys.Send("%({TAB}{TAB}{TAB})")

(3) Use the "repeat" syntax by specifying the number of times to repeat:

    SendKeys.Send("%{TAB 3}")
0
 

Author Closing Comment

by:jdoheny
ID: 31603931
I'm a little distressed that a number after the word solved my problem that I spent so long on, but so happy! Thank you so much for all your help :)!
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
ID: 24870229
Glad that worked.

Looking back at my answer, though, #1 should have "%" instead of "@", and read:

    (1) Put "%" in front of all of them:

        SendKeys.Send("%{TAB}%{TAB}%{TAB}")

Guess I needed more coffee yesterday...   ;)
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
This article is meant to give a basic understanding of how to use R Sweave as a way to merge LaTeX and R code seamlessly into one presentable document.
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question