Démarrez Microsoft Visual Basic.
Cliquer sur "Nouveau projet" juste en dessous du "Fichier" onglet situé sur la barre d'outils.
Highlight "Application Windows Form" dans le "Nouveau projet" pop-up boîte.
Modifiez le nom du projet à "Clavier à l'écran" ou quelque chose de semblable pour identifier plus facilement votre projet.
Cliquez "D'accord" dans le coin inférieur à droite de la "Nouveau projet" pop-up boîte. Un formulaire vierge marqué "Form1" devrait apparaître en quelques secondes.
Clique sur le "Propriétés Box" situé sur le côté droit de l'écran et sélectionnez le "Nom" BOX- changer le nom de "Form1" à "frmMain".
Highlight "FormBorderStyle" et changer le nom actuel "FixedToolWindow".
Highlight "Taille" et modifier la taille actuelle "390208".
Highlight "Texte" et changer le nom de "Clavier".
Highlight "TopMost" et changer pour "Vrai".
Développer (+) de votre "Contrôles communs" sur "Boîte à outils" sur le côté gauche de l'écran et sélectionnez "Boîte combo" composant.
Tracez une zone de liste déroulante dans la "Forme" boîte, qui devrait être étiqueté comme "Clavier".
Cliquez sur la zone de liste déroulante et ensuite revenir à la "Propriétés Box" situé sur le côté droit de l'écran. Highlight "Nom" dans le "Propriétés Box" et changer le nom de "cboWindows".
Highlight "DropDownStyle" et changer le nom de "La liste déroulante" et cliquez-droit sur "Forme" dans "Explorateur de solutions" et choisissez "Afficher le code".
Tapez les méthodes de l'API suivantes et les déclarations ci-dessous la "Classe publique frmMain":
«Méthodes de l'API
Public Declare Function IsWindowVisible Lib "user32.dll" _
Alias "IsWindowVisible" (ByVal hwnd As Integer) As Boolean
Public Declare Function GetWindow Lib "user32.dll" _
Alias "GetWindow" (ByVal hwnd As Integer, _
WCMD ByVal As Integer) As Integer
Public Declare Function GetWindowLong Lib "user32.dll" _
Alias "GetWindowLongA" (ByVal hwnd As Integer, _
ByVal nIndex As Integer) As Integer
Public Declare Function GetParent Lib "user32.dll" _
Alias "GetParent" (ByVal hwnd As Integer) As Integer
Lib de Public Declare Function "user32.dll" _
Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer
»Déclarations
RowOne privée As String () = {"`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "="}
RowTwo privée As String () = {"q", "w", "e", "r", "t", "y", "u", "je", "o", "p", "[", "]"}
RowThree privée As String () = {"un", "s", "ré", "F", "g", "h", "j", "k", "l", "-", "'", "#"}
RowFour privée As String () = {"", "z", "X", "c", "v", "b", "n", "m", ",", ".", "/"}
CapsLock privée Comme nouvelle case à cocher
Clé privée, tant que chaîne spéciale
Fenêtres privé New ArrayList
Comme la fenêtre Private IntPtr
Entrez les méthodes de l'API et déclarations ci-dessous la "Gestionnaires d'événements":
«Gestionnaires d'événements
Key Private SubSpécial (expéditeur de ByVal comme Button,
E ByVal comme System.EventArgs)
Si = spéciaux "" alors
Spécial = Sender.Tag
Autre
= Spéciaux ""
Fin si
End Sub
Key Private SubCliquez (expéditeur de ByVal comme Button,
E ByVal comme System.EventArgs)
Key = Sender.Tag
Si = clés "{ESPACE}" Puis Key = " " «Convertir {} ESPACE Space
Si la fenêtre lt; gt; 0 Then
SetForegroundWindow (Fenêtre)SendKeys.SendWait (spécial & IIf (Capslock.Checked _
Et rien de spécial lt; gt; "^", _
UCase (Key), Key))
SetForegroundWindow (Fenêtre)
Fin si
End Sub
Entrez ci-dessous présente la "Méthodes privées":
«Méthodes privées
Private Function IsActiveWindow (ByVal hWnd As Integer) As Boolean
Dim IsOwned As Boolean
Dim style As Integer
IsOwned = GetWindow (hWnd, 4) lt; gt; 0
Style = GetWindowLong (hWnd, -20)
Si Non IsWindowVisible (hWnd) puis retourner False 'Non Visible
Si GetParent (hWnd) lt; gt; 0 puis revenir Faux »a Parent
Si (Style et &H80) lt; gt; 0 Et Non IsOwned puis retourner False 'Est Tooltip
Si (Style et &H40000) = 0 et IsOwned Puis return false »a propriétaire
Si Process.GetCurrentProcess.MainWindowHandle = hWnd Puis retourne FALSE
Retour fenêtre True 'Valide
End Function
Private Sub KeyboardButton (ByVal Largeur As Integer, ByVal Hauteur As Integer, _
Top ByVal As Integer, ByVal Gauche As Integer, _
Facultatif texte ByVal As String = "", _
Facultatif Tag ByVal As String = "", _
Facultatif spécial ByVal As Boolean = false)
Bouton Dim As New Bouton
Button.Size = New Dimensions (largeur, hauteur)
Button.Location = new Point (Gauche, Haut)
Button.Text = texte
Button.Tag = Tag
Si Alors spécial
AddHandler Button.Click, AddressOf Key_Special
Autre
AddHandler Button.Click, AddressOf Key_Click
Fin si
Controls.Add (Bouton)
End Sub
Retour à la vue de conception en sélectionnant le "Conception" onglet ou un clic droit sur le "Voir Designer" possibilité situé dans le "Explorateur de solutions" pour frmMain. Dans le formulaire affiché, double-cliquez sur le formulaire (frmMain).
Tapez la commande suivante dans "frmMain_Load ()" sous:
Dim Col As Integer
«Un Row
Pour Col = 0 To 12
KeyboardButton (25, 25, 40, Col * 25 + 4, _
RowOne (Col), RowOne (Col))
Suivant
KeyboardButton (50, 25, 40, Col * 25 + 4, "BkSp", "{} RETOUR ARRIÈRE")
«Deux Row
KeyboardButton (36, 25, 66, 4, "Tab", "{TAB}")
Pour Col = 0 To 11
KeyboardButton (25, 25, 66, Col * 25 + 40, _
UCase (RowTwo (Col)), RowTwo (Col))
Suivant
KeyboardButton (39, 25, 66, 36 + Col * 25 + 4, "&crarr-", "{} ENTRER")
«Trois Row
CapsLock.Appearance = Appearance.Button
CapsLock.Size = New Taille (48, 25)
CapsLock.Location = new Point (4, 92)
CapsLock.Text = "Caps"
Controls.Add (Verr Maj)
Pour Col = 0 To 11
KeyboardButton (25, 25, 92, Col * 25 + 52, _
UCase (RowThree (Col)), RowThree (Col))
Suivant
KeyboardButton (27, 25, 92, 48 + Col * 25 + 4, "", "{} ENTRER")
«Quatre Row
KeyboardButton (38, 25, 118, 4, "Décalage", "+", True)
Pour Col = 0 To 10
KeyboardButton (25, 25, 118, Col * 25 + 42, _
UCase (RowFour (Col)), RowFour (Col))
Suivant
KeyboardButton (62, 25, 118, Col * 25 + 42, "Décalage", "+", True)
«Cinq Row
KeyboardButton (50, 25, 144, 4, "Ctrl", "^", True)
KeyboardButton (50, 25, 144, 54, "Alt", "%", True)
KeyboardButton (154, 25, 144, 104, "Espace", "{ESPACE}")
KeyboardButton (44, 25, 144, 258, "Accueil", "{DOMICILE}")
KeyboardButton (44, 25, 144, 302, "Fin", "{FIN}")
KeyboardButton (33, 25, 144, 346, "Del", "{DEL}"
Retour à la "Afficher le code" en double-cliquant sur le formulaire. La "frmMain_Load" Sous de l'étape précédente devrait apparaître. Il devrait y avoir deux listes déroulantes dans le Code.
Sélectionner "cboWindows" à partir de la première "frmMain événement" zone de liste déroulante et sélectionnez "Menu déroulant" du "Déclarations" zone de liste déroulante.
Tapez la commande suivante dans le "cboWindows_DropDown (...)" Sous:
Windows.Clear ()
cboWindows.Items.Clear ()
Pour chaque élément comme processus Dans Process.GetProcesses
Si IsActiveWindow (Item.MainWindowHandle) _
Et Item.MainWindowTitle lt; gt; "" alors
Windows.Add (Item.MainWindowHandle)cboWindows.Items.Add (Item.MainWindowTitle)
Fin si
Suivant
Ensuite, sélectionnez "cboWindows" de la première zone de liste déroulante située dans le nouveau Code.
Choisir "SelectedIndexChanged" et tapez la commande suivante dans "cboWindows_SelectedIndexedChange" Sous:
Si cboWindows.SelectedItem lt; gt; Rien Puis
Fenêtre = Windows.Item (cboWindows.SelectedIndex)
Fin si
Enregistrez votre projet, parce que vous avez terminé.
Cliquez "Démarrer" et votre clavier à l'écran devrait apparaître.
Cliquez sur le rouge "X" situé en haut à droite de la zone pour fermer l'application lorsque vous avez terminé.