August 15
È possibile creare una tastiera su schermo con il programma di Microsoft Visual Basic, che può essere scaricato dal sito Web di Microsoft per libero. Visual Basic è un programma abbastanza comprensibile per la maggior parte delle persone. Il programma è stato progettato per la creazione di applicazioni sicure e orientate agli oggetti. Questo programma offre agli sviluppatori la possibilità di indirizzare i Web, dispositivi mobili e di Windows. La tastiera su schermo creato da Visual Basic consente di digitare in diverse applicazioni sul computer.
1 Avviare Microsoft Visual Basic.
2 Clicca su "Nuovo progetto" a destra sotto la scheda "File" che si trova sulla barra degli strumenti.
3 Evidenziare "Windows Application Form" nella finestra pop-up "Nuovo progetto".
4 Cambiare il nome del progetto per "tastiera su schermo" o qualcosa di simile per identificare più facilmente il vostro progetto.
5 Fai clic su "OK" nell'angolo in basso a destra della finestra di pop-up "Nuovo progetto". Un modulo vuoto etichetta "Form1" dovrebbe comparire nel giro di pochi secondi.
6 Clicca su "Proprietà Box" che si trova sul lato destro dello schermo ed evidenziare la casella "Nome"; cambiare il nome da "Form1" a "frmMain".
7 Evidenziare "FormBorderStyle" e modificare il nome attuale di "FixedToolWindow".
8 Evidenziare "Size" e cambiare la dimensione attuale di "390.208".
9 Evidenziare il "Testo" e cambiare il nome in "Tastiera".
10 Evidenziare "TopMost" e cambia in "True".
11 Espandere (+) i vostri "Controlli comuni" a "Toolbox" sul lato sinistro dello schermo e selezionare componente "ComboBox".
12 Disegnare un ComboBox nella casella "Form", che dovrebbe essere etichettato come "Tastiera".
13 Fare clic sulla casella combinata e poi tornare al "Proprietà Box" che si trova sul lato destro dello schermo. Evidenziare "Nome" nel "Proprietà Box" e cambiare il nome in "cboWindows".
14 Evidenziare "DropDownStyle" e modificare il nome in "DropDownList" and-click destro su "Form" in "Solution Explorer" e scegliere "Visualizza codice".
15 Digitare i seguenti metodi di API e le dichiarazioni al di sotto della "Public Class frmMain":
'Metodi API
Public Declare Function IsWindowVisible Lib "user32.dll" _
Alias "IsWindowVisible" (ByVal hwnd As Integer) come booleano
Public Declare Function GetWindow Lib "user32.dll" _
Alias "GetWindow" (ByVal hwnd As Integer, _
ByVal wCmd 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
Public Declare Function SetForegroundWindow Lib "user32.dll" _
Alias "SetForegroundWindow" (ByVal hwnd As Integer) As Integer
'dichiarazioni
RowOne privata As String () = { "` "," 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 "," 8 "," 9 "," 0 "," - "," = "}
RowTwo privata As String () = { "q", "w", "e", "R", "t", "y", "u", "i", "o", "p", "[ ","] "}
RowThree privata As String () = { "a", "s", "D", "F", "G", "H", "j", "k", "l", ",", " ' "," # "}
RowFour privata As String () = { "\", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/ "}
CapsLock privato come nuova casella di controllo
Chiave privata, come speciali String
Finestre private come nuovo ArrayList
Finestra privata come IntPtr
16 Inserire i metodi di API e le dichiarazioni sotto i "gestori di eventi":
'gestori di eventi
Private Sub chiave
mittente speciale (ByVal come Button,
ByVal e As System.EventArgs)
Se Speciale = "" Allora
Special = Sender.Tag
Altro
Special = ""
Finisci se
End Sub
Sub Key Click privata (mittente di ByVal come Button,
ByVal e As System.EventArgs)
Chiave = Sender.Tag
Se key = "{} SPACE" quindi il tasto = "" 'Converti {} SPACE Space
Se la finestra <> 0 Then
SetForegroundWindow(Window)
SendKeys.SendWait (Special & IIf (Capslock.Checked _
E non speciale & lt;> "^", _
UCase (Key), Key))
SetForegroundWindow (finestra)
Finisci se
End Sub
17 Inserisci questo sotto i "metodi privati":
'metodi privati
Private Function IsActiveWindow (ByVal hWnd As Integer) come booleano
Dim isowned come booleano
Dim Style As Integer
Isowned = GetWindow (hWnd, 4) <> 0
Style = GetWindowLong (hWnd, -20)
Se non IsWindowVisible (hWnd) poi tornare False 'non visibile
Se GetParent (hWnd) <> 0 Then return false 'ha Parent
Se (Stile E & H80) <> 0 e non isowned poi tornare False 'Is Tooltip
Se (Stile E & H40000) = 0 e isowned poi tornare False 'Ha un proprietario
Se Process.GetCurrentProcess.MainWindowHandle = hWnd poi tornare False
Rientro Finestra True 'valido
End Function
Private Sub KeyboardButton (Larghezza ByVal As Integer, ByVal Altezza come numero intero, _
ByVal Top As Integer, ByVal Left As Integer, _
Opzionale Testo ByVal come stringa = "", _
Tag opzionale ByVal come stringa = "", _
Opzionale ByVal speciale come booleano = false)
Pulsante fioco come nuovo pulsante
Button.Size = Nuovo formato (larghezza, altezza)
Button.Location = New Point (Left, Top)
Button.Text = Testo
Button.Tag = Tag
Se Speciale Poi
AddHandler Button.Click, AddressOf Key_Special
Altro
AddHandler Button.Click, AddressOf Key_Click
Finisci se
Controls.Add (Button)
End Sub
18 Ritorna alla visualizzazione struttura selezionando la scheda "Design" o tasto destro del mouse sulla voce "Progettazione" che si trova nel "Solution Explorer" per frmMain. All'interno del form visualizzato, fare doppio clic sul modulo (frmMain).
19 Digitare il seguente in "frmMain_Load ()" sub:
Dim Col As Integer
'Row One
Per Col = 0 a 12
KeyboardButton (25, 25, 40, Col * 25 + 4, _
RowOne(Col), RowOne(Col))
Il prossimo
KeyboardButton (50, 25, 40, Col * 25 + 4, "BkSp", "{} BACKSPACE")
'Seconda fila
KeyboardButton (36, 25, 66, 4, "Tab", "{TAB}")
Per Col = 0 a 11
KeyboardButton (25, 25, 66, Col * 25 + 40, _
UCase(RowTwo(Col)), RowTwo(Col))
Il prossimo
KeyboardButton (39, 25, 66, 36 + Col * 25 + 4, "↵", "{ENTER}")
'Terza fila
CapsLock.Appearance = Appearance.Button
CapsLock.Size = Nuovo formato (48, 25)
CapsLock.Location = New Point (4, 92)
CapsLock.Text = "Caps"
Controls.Add (CapsLock)
Per Col = 0 a 11
KeyboardButton (25, 25, 92, Col * 25 + 52, _
UCase(RowThree(Col)), RowThree(Col))
Il prossimo
KeyboardButton (27, 25, 92, 48 + Col * 25 + 4, "", "{ENTER}")
'Row Quattro
KeyboardButton (38, 25, 118, 4, "Shift", "+", True)
Per Col = 0 to 10
KeyboardButton (25, 25, 118, Col * 25 + 42, _
UCase(RowFour(Col)), RowFour(Col))
Il prossimo
KeyboardButton (62, 25, 118, Col * 25 + 42, "Shift", "+", True)
'Row Five
KeyboardButton (50, 25, 144, 4, "Ctrl", "^", True)
KeyboardButton (50, 25, 144, 54, "Alt", "%", True)
KeyboardButton (154, 25, 144, 104, "Space", "{} SPAZIO")
KeyboardButton (44, 25, 144, 258, "Home", "{HOME}")
KeyboardButton (44, 25, 144, 302, "Fine", "{} END")
KeyboardButton (33, 25, 144, 346, "Del", "{DEL}"
20 Ritorno al "Codice View" con un doppio clic sul modulo. Il Sub "frmMain_Load" dal passaggio precedente dovrebbe apparire. Ci dovrebbero essere due caselle a discesa nella vista Codice.
21 Seleziona "cboWindows" dalla prima casella a discesa "frmMain Event" e selezionare "discesa" dalla casella a discesa "Dichiarazioni".
22 Digitare quanto segue nella "cboWindows_DropDown (...)" Sub:
Windows.Clear ()
cboWindows.Items.Clear ()
Per ogni elemento come un processo in Process.GetProcesses
Se IsActiveWindow (Item.MainWindowHandle) _
E Item.MainWindowTitle <> "" Allora
Windows.Add(Item.MainWindowHandle)
cboWindows.Items.Add (Item.MainWindowTitle)
Finisci se
Il prossimo
Quindi selezionare "cboWindows" dalla prima casella a discesa di nuovo si trova nella vista Codice.
Scegliere "SelectedIndexChanged" e digitare quanto segue nel Sub "cboWindows_SelectedIndexedChange":
Se cboWindows.SelectedItem <> niente allora
Finestra = Windows.Item (cboWindows.SelectedIndex)
Finisci se
23 Salvare il progetto, perché sei finito.
24 Fai clic su "Start" e dovrebbe comparire la tastiera su schermo.
25 Clicca sulla "X" rossa situata nella parte in alto a destra della finestra per chiudere l'applicazione quando hai finito.