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.