Du kan skapa ett skärmtangentbord med Microsoft Visual Basic-program som kan laddas ner från Microsofts hemsida gratis . Visual Basic är ett ganska förståeligt program för de flesta människor . Programmet har utformats för att bygga säkra och objektorienterade program . Detta program ger utvecklare en chans att rikta webben, mobila enheter och Windows . Tangentbordet på skärmen skapas av Visual Basic låter dig skriva in olika program på datorn . Instruktioner
1
Starta Microsoft Visual Basic .
2
Klicka på " New Project " precis under "File " fliken på verktygsfältet .
Sida 3
Markera " Windows Form Application " i " New Project " pop - up ruta .
4
Ändra namnet på projektet till " tangentbordet på skärmen " eller något liknande för att lättare identifiera ditt projekt .
5
Klicka på " OK " längst till höger nedre hörnet av " New Project " pop - up ruta . Ett tomt formulär märkt " Form1 " ska visas inom några sekunder
6
Klicka på " Properties Box " ligger på höger sida av skärmen och markera " Name " rutan , . Ändra namnet från " Form1 " till " frmMain " .
7
Highlight " FormBorderStyle " och ändra det aktuella namnet till " FixedToolWindow " .
8
Highlight " Size " och ändra nuvarande storlek till " 390.208 " .
9
Highlight " Text " och ändra namnet till " Keyboard " .
10
Highlight " översta " och ändra till " Sant " .
11
Expandera ( + ) din " Common Controls " på " Toolbox " på vänster sida av skärmen och välj " ComboBox " komponent .
12
Draw en ComboBox i " Form " rutan , vilket bör märkas som " Tangentbord " .
13
Klicka på ComboBox och sedan gå tillbaka till " Properties Box " ligger på höger sida av skärmen . Markera " Name " i " Properties Box " och ändra namnet till " cboWindows " .
14
Highlight " DropDownStyle " och ändra namnet till " DropDownList " och högerklicka på " Form " i " Solution Explorer " och välj " Visa kod "
15
Skriv in följande API metoder och förklaringar under " public class frmMain " : .
API Metoder
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 , _
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
' Deklarationer
Privat RowOne As String ( ) = { " ` " , " 1 "," 2 " , " 3 " , " 4 " , " 5 " , " 6 " , " 7 " , " 8 "," 9 "," 0 " ," - "," = "}
Privat RowTwo As String ( ) = { " q " , " w " , " e " , " r " , " t " , " y " , " u " , " jag " , " o " , " p " , " [ " , " ] " }
Privat RowThree As String ( ) = { " a " , " s " , " d " , " f " , " g " , " h " , " j " , " k " , " l " , ", " , " '"," # "}
Privat RowFour As String () = {" \\" , "z" , "x" , "c" , "v" , "b" , " n" , " m ", " , ", " . " , "/" }
Privat CapsLock Som ny CheckBox
privat nyckel , speciellt som
String
Privata Windows As New ArrayList
Privat Fönster Som IntPtr
16
Ange API metoder och förklaringar nedanför " händelsehanterare " :
" händelsehanterare
Private Sub Key_Special ( ByVal avsändaren som Button , _
ByVal e Som System.EventArgs ) katalog p Om Special = " " Då
Special = Sender.Tag
Else
Special = " "
End If
End Sub
Private Sub Key_Click ( ByVal avsändaren som Button , _
ByVal e Som System.EventArgs ) katalog
Key = Sender . Tag
p Om Nyckel = " { SPACE } " Då Key = " " ' Convert { SPACE } till Space
p Om Window < > 0 Then
SetForegroundWindow ( fönster ) katalog
SendKeys.SendWait ( Special & Oom ( Capslock.Checked _
och inte speciellt < > " ^ " , _
UCase ( Key ) , Key ) ) katalog
SetForegroundWindow ( Fönster ) katalog
End If
End Sub
17
Ange detta under " Privata Methods " :
" Privata metoder
Private Function IsActiveWindow ( ByVal HWND As Integer ) As Boolean
Dim IsOwned As Boolean
Dim Style As Integer
IsOwned = GetWindow ( hWnd , 4 ) < > 0
Style = GetWindowLong ( hWnd , -20 ) katalog p Om inte IsWindowVisible ( hWnd ) sedan tillbaka False " Inte synlig
Om GetParent ( hWnd ) < > 0 Then return false " Har Förälder
p Om ( Style And & H80 ) < > 0 och Inte IsOwned sedan tillbaka False ' Är Tooltip
p Om ( Stil och & H40000 ) = 0 och IsOwned sedan återvända False "har Ägarens
p Om Process.GetCurrentProcess.MainWindowHandle = hWnd sedan tillbaka False
Return Sant ' Window Valid End
funktion
Private Sub KeyboardButton ( ByVal Bredd As Integer , ByVal Höjd As Integer , _
ByVal Top As Integer , Vänster ByVal As Integer , _
Valfritt ByVal Text As String = " " , _
Valfritt ByVal Tag As String = " " , _
Valfritt ByVal Special As Boolean = False ) katalog
Ljusknapp Som ny knapp
Button.Size = Ny storlek (bredd , höjd ) katalog
Button.Location = New Point ( Left , Top ) katalog
Button.Text = Text
Button.Tag = Tag
p Om Special Sedan
AddHandler Button.Click , AddressOf Key_Special
Else
AddHandler Button.Click , AddressOf Key_Click
End If
Controls.Add ( Button ) katalog
End Sub
18
tillbaka till designvyn genom att välja " Design "-fliken eller högerklicka på " Visa Designer " alternativ som ligger i " Solution Explorer " för frmMain . Inom Form visas dubbelklickar du på formen ( frmMain )
19
Skriv in följande i " frmMain_Load ( ) " sub : .
Dim Col As Integer
' Row En
För Col = 0 till 12
KeyboardButton 25 ( , 25 , 40 , Col * 25 + 4 , _
RowOne ( Col ) , RowOne ( Col ) ) katalog
Nästa
KeyboardButton ( 50 , 25 , 40 , Col * 25 + 4 , " BkSp " , "{ BACKSPACE }" ) katalog
' Row två
KeyboardButton ( 36 , 25 , 66 , 4 , " Tab " , " { TAB } " ) katalog
För Col = 0 till 11
KeyboardButton 25 ( , 25 , 66 , Col * 25 + 40 , _
UCase ( RowTwo ( Col ) ) , RowTwo ( Col ) ) katalog
Nästa
KeyboardButton 39 ( , 25 , 66 , 36 + Col * 25 + 4 , " ↵ ", " {ENTER }" ) katalog
' Rad Tre
CapsLock.Appearance = Appearance.Button
CapsLock.Size = Ny storlek ( 48 , 25 ) katalog
CapsLock.Location = New Point ( 4 , 92 ) katalog
CapsLock.Text = " Caps "
Controls.Add ( CapsLock )
För Col = 0 till 11
KeyboardButton 25 ( , 25 , 92 , Col * 25 + 52 , _
UCase ( RowThree ( Col ) ) , RowThree ( Col ) ) katalog
Nästa
KeyboardButton 27 ( , 25 , 92 , 48 + Col * 25 + 4 , "", " {ENTER }" ) katalog
' Row Fyra
KeyboardButton ( 38 , 25 , 118 , 4 , " Shift " , " + " , Sant ) katalog
För Col = 0 till 10