Hvordan lage et skjermtastatur i Visual Basic
Du kan opprette et skjermtastatur med Microsoft Visual Basic-program, som kan lastes ned fra Microsofts nettside gratis. Visual Basic er en ganske forståelig program for folk flest. Programmet er designet for å bygge trygge og objektorienterte applikasjoner. Dette programmet gir utviklere en mulighet til å målrette Web, mobile enheter og Windows. Skjermtastaturet er laget av Visual Basic kan du skrive i ulike programmer på datamaskinen.
Bruksanvisning
1 Start Microsoft Visual Basic.
2 Klikk på "New Project" rett under "File" fanen på verktøylinjen.
3 Marker "Windows Form Application" i "Nytt prosjekt" pop-up boksen.
4 Endre navnet på prosjektet til "skjermtastaturet" eller noe lignende for å lettere identifisere prosjektet.
5 Klikk på "OK" helt til høyre hjørne av "New Project" pop-up boksen. En tomt skjema merket "Form1" skal vises i løpet av få sekunder.
6 Klikk på "Properties Box" ligger på høyre side av skjermen og markere "Name" boksen; endre navnet fra "Form1" til "frmMain".
7 Marker "FormBorderStyle" og endre den aktuelle navn til "FixedToolWindow".
8 Marker "Size" og endre den aktuelle størrelsen til "390208".
9 Marker "Text" og endre navnet til "Tastatur".
10 Marker "øverste" og endre til "Ekte".
11 Utvid (+) din "Common Controls" på "Toolbox" på venstre side av skjermen og velge "ComboBox" komponent.
12 Tegn en ComboBox i "Form" boksen, som skal være merket som "Tastatur".
1. 3 Klikk på ComboBox og deretter gå tilbake til "Properties Box" ligger på høyre side av skjermen. Marker "Name" i "Properties Box" og endre navnet til "cboWindows".
14 Marker "DropDownStyle" og endre navnet til "Dropdown" og høyre-klikk på "Form" i "Solution Explorer" og velg "Vis kode".
15 Skriv inn følgende API Metoder og erklæringer 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
'Erklæringer
Private RowOne As String () = { "` "," 1 "," 2 "," 3 "," 4 "," 5 "," 6 "," 7 "," 8 "," 9 "," 0 "," - "," = "}
Private RowTwo As String () = { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[ ","] "}
Private RowThree As String () = { "a", "s", "d", "f", "g", "h", "j", "k", "l", ",", " ' "," # "}
Private RowFour As String () = { "\", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/ "}
Private Capslock som ny avmerkingsbokser
Private Key, Spesielle As String
Private Windows som ny Arraylist
Private Window Som IntPtr
16 Angi API Metoder og erklæringer under "Event Handlers":
'hendelseshåndterere
Private Sub Key
Special (ByVal Sender Som Button,
ByVal e As System.EventArgs)
Hvis Spesial = "" Then
Special = Sender.Tag
Ellers
Special = ""
Slutt om
End Sub
Private Sub Key Click (ByVal Sender Som Button,
ByVal e As System.EventArgs)
Key = Sender.Tag
Hvis Key = "{SPACE}" Så Key = "" "Konverter {SPACE} til Space
Hvis Window <> 0 Then
SetForegroundWindow(Window)
SendKeys.SendWait (Special & IIf (Capslock.Checked _
Og ikke spesiell & lt;> "^", _
UCase (Key), Key))
SetForegroundWindow (vindu)
Slutt om
End Sub
17 Skriv inn denne under "Private metoder":
'private metoder
Private Function IsActiveWindow (ByVal hWnd As Integer) As Boolean
Dim isowned Som boolsk
Dim Stil As Integer
Isowned = GetWindow (hWnd, 4) <> 0
Style = GetWindowLong (hWnd, -20)
Hvis ikke IsWindowVisible (hWnd) Deretter return false "Ikke synlig
Hvis GetParent (hWnd) <> 0 Then Return False 'Har Parent
Hvis (stil og & H80) <> 0 og ikke isowned Så return false "Er Tooltip
Hvis (stil og & H40000) = 0 Og isowned Så return false 'Har Owner
Hvis Process.GetCurrentProcess.MainWindowHandle = hWnd Så return false
Return true 'Window Valid
End Function
Private Sub KeyboardButton (ByVal Bredde As Integer, ByVal Høyde As Integer, _
ByVal Top As Integer, ByVal Left As Integer, _
Valgfritt ByVal Tekst As String = "", _
Valgfritt ByVal Tag As String = "", _
Valgfritt ByVal Spesial Som Boolean = false)
Dim Button Som ny knapp
Button.Size = Ny Størrelse (bredde, høyde)
Button.Location = Nytt punkt (venstre, øverst)
Button.Text = Tekst
Button.Tag = Tag
Hvis Special Deretter
AddHandler Button.Click, AddressOf Key_Special
Ellers
AddHandler Button.Click, AddressOf Key_Click
Slutt om
Controls.Add (Button)
End Sub
18 Gå tilbake til design Vis ved å velge "Design" -kategorien eller høyreklikke på "Vis Designer" alternativet ligger i "Solution Explorer" for frmMain. Innenfor Form vises, dobbeltklikker du på skjemaet (frmMain).
19 Skriv inn følgende i "frmMain_Load ()" sub:
Dim Col As Integer
'Row One
For Col = 0 til 12
KeyboardButton (25, 25, 40, Col * 25 + 4, _
RowOne(Col), RowOne(Col))
neste
KeyboardButton (50, 25, 40, Col * 25 + 4, "BKSP", "{TILBAKE}»)
'Row Two
KeyboardButton (36, 25, 66, 4, "Tab", "{TAB}»)
For Col = 0 til 11
KeyboardButton (25, 25, 66, Col * 25 + 40, _
UCase(RowTwo(Col)), RowTwo(Col))
neste
KeyboardButton (39, 25, 66, 36 + Col * 25 + 4, "↵", "{Enter}")
'Row Tre
CapsLock.Appearance = Appearance.Button
CapsLock.Size = Ny Size (48, 25)
CapsLock.Location = Nytt punkt (4, 92)
CapsLock.Text = "Caps"
Controls.Add (Capslock)
For Col = 0 til 11
KeyboardButton (25, 25, 92, Col * 25 + 52, _
UCase(RowThree(Col)), RowThree(Col))
neste
KeyboardButton (27, 25, 92, 48 + Col * 25 + 4, "", "{Enter}")
'Row Fire
KeyboardButton (38, 25, 118, 4, "Shift", "+", sann)
For Col = 0 til 10
KeyboardButton (25, 25, 118, Col * 25 + 42, _
UCase(RowFour(Col)), RowFour(Col))
neste
KeyboardButton (62, 25, 118, Col * 25 + 42, "Shift", "+", sann)
'Row Five
KeyboardButton (50, 25, 144, 4, "Ctrl", "^", sann)
KeyboardButton (50, 25, 144, 54, "Alt", "%", sann)
KeyboardButton (154, 25, 144, 104, "Space", "{SPACE}»)
KeyboardButton (44, 25, 144, 258, "Home", "{HJEMME}»)
KeyboardButton (44, 25, 144, 302, "End", "{END}»)
KeyboardButton (33, 25, 144, 346, "Del", "{DEL}"
20 Gå tilbake til "Code View" ved å dobbeltklikke på Form. Den "frmMain_Load" Sub fra forrige trinn skal vises. Det bør være to rullegardinlistene i kodevisning.
21 Velg "cboWindows" fra den første "frmMain hendelse" drop-down boksen og velg "dropdown" fra "Erklæringer" drop-down boks.
22 Skriv inn følgende i "cboWindows_DropDown (...)" Sub:
Windows.Clear ()
cboWindows.Items.Clear ()
For hvert objekt som Process I Process.GetProcesses
Hvis IsActiveWindow (Item.MainWindowHandle) _
Og Item.MainWindowTitle <> "" Then
Windows.Add(Item.MainWindowHandle)
cboWindows.Items.Add (Item.MainWindowTitle)
Slutt om
neste
Velg deretter "cboWindows" fra den første rullegardin igjen ligger i kodevisning.
Velg "SelectedIndexChanged" og skriv inn følgende i "cboWindows_SelectedIndexedChange" Sub:
Hvis cboWindows.SelectedItem <> Ingenting Deretter
Window = Windows.Item (cboWindows.SelectedIndex)
Slutt om
23 Lagre prosjektet, fordi du er ferdig.
24 Klikk "Start" og din skjermtastaturet skal vises.
25 Klikk på den røde "X" øverst til høyre i boksen for å lukke programmet når du er ferdig.