WawaN120685 Posted August 22, 2017 Share Posted August 22, 2017 (edited) Hi, I'm new in autoit. I read about virtual keyboard here, then i try to merging with IE, but i'm stuck , can't get the input from VK i've spent lot of time for searching before make this thread, can't find the other example help me please, thanx before here is the source : expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <StaticConstants.au3> #include <ColorConstantS.au3> Opt("WinWaitDelay",0) Opt("SendKeyDelay",0) Opt("SendKeyDownDelay",0) Opt("Sendcapslockmode",0) Opt("TrayIconHide",1) Opt("GUICloseOnESC",0) ;Opt('MustDeclareVars', 1) Global $fLeftShiftHolden = False Global $fLeftAltHolden = False Global $fLeftCtrlHolden = False Global $fRightShiftHolden = False Global $fRightAltHolden = False Global $fRightCtrlHolden = False Global Const $VK_NUMLOCK = 0x90 Global Const $VK_SCROLL = 0x91 Global Const $VK_CAPITAL = 0x14 ;HotKeySet("{Esc}","Quit") Func _NumberLockPushed() If $NumberLockOn = True Then GUICtrlSetState($NumberLockOnPic, $GUI_HIDE) PressButton("{NumLock}",1) $NumberLockOn = False Else GUICtrlSetState($NumberLockOnPic, $GUI_SHOW) PressButton("{NumLock}",1) $NumberLockOn = True EndIf EndFunc Func _ScrollLockPushed() If $ScrollLockOn = True Then GUICtrlSetState($ScrollLockOnPic, $GUI_HIDE) PressButton("{ScrollLock}",1) $ScrollLockOn = False Else GUICtrlSetState($ScrollLockOnPic, $GUI_SHOW) PressButton("{ScrollLock}",1) $ScrollLockOn = True EndIf EndFunc Func _CapsLockPushed() If $CapsLockOn = True Then GUICtrlSetState($CapsLockOnPic, $GUI_HIDE) PressButton("{CapsLock}",1) $CapsLockOn = False Else GUICtrlSetState($CapsLockOnPic, $GUI_SHOW) PressButton("{CapsLock}",1) $CapsLockOn = True EndIf EndFunc $oIE = ObjCreate("Shell.Explorer.2") $ProductVersion = "v0.1" $MainGUITitle = "Virtual Keyboard "&$ProductVersion&" - " $Form1 = GUICreate($MainGUITitle, 722, 794, 300, 10, -1, BitOR($WS_EX_TOOLWINDOW,$WS_EX_TOPMOST,$WS_EX_WINDOWEDGE)) $GUIActiveX = GUICtrlCreateObj($oIE, 1, 1, 720, 598) $oIE.navigate("https://www.google.com/") GUISetBkColor($COLOR_BLACK) $Esc = GUICtrlCreateButton("Esc", 0, 600, 33, 25, $WS_GROUP) $F1 = GUICtrlCreateButton("F1", 48, 600, 33, 25, $WS_GROUP) $F2 = GUICtrlCreateButton("F2", 80, 600, 33, 25, $WS_GROUP) $F3 = GUICtrlCreateButton("F3", 112, 600, 33, 25, $WS_GROUP) $F4 = GUICtrlCreateButton("F4", 144, 600, 33, 25, $WS_GROUP) $F5 = GUICtrlCreateButton("F5", 184, 600, 33, 25, $WS_GROUP) $F6 = GUICtrlCreateButton("F6", 216, 600, 33, 25, $WS_GROUP) $F7 = GUICtrlCreateButton("F7", 248, 600, 33, 25, $WS_GROUP) $F8 = GUICtrlCreateButton("F8", 280, 600, 33, 25, $WS_GROUP) $F9 = GUICtrlCreateButton("F9", 320, 600, 33, 25, $WS_GROUP) $F10 = GUICtrlCreateButton("F10", 352, 600, 33, 25, $WS_GROUP) $F11 = GUICtrlCreateButton("F11", 385, 600, 33, 25, $WS_GROUP) $F12 = GUICtrlCreateButton("F12", 417, 600, 33, 25, $WS_GROUP) $PrintScreen = GUICtrlCreateButton("prtscr", 488, 600, 33, 25, $WS_GROUP) $ScrollLock = GUICtrlCreateButton("scr lo", 520, 600, 33, 25, $WS_GROUP) $PauseBreak = GUICtrlCreateButton("pa br", 552, 600, 33, 25, $WS_GROUP) $Igel = GUICtrlCreateButton("`", 0, 632, 33, 33, $WS_GROUP) $One = GUICtrlCreateButton("1", 32, 632, 33, 33, $WS_GROUP) $Two = GUICtrlCreateButton("2", 64, 632, 33, 33, $WS_GROUP) $Three = GUICtrlCreateButton("3", 96, 632, 33, 33, $WS_GROUP) $Four = GUICtrlCreateButton("4", 128, 632, 33, 33, $WS_GROUP) $Five = GUICtrlCreateButton("5", 160, 632, 33, 33, $WS_GROUP) $Six = GUICtrlCreateButton("6", 192, 632, 33, 33, $WS_GROUP) $Seven = GUICtrlCreateButton("7", 224, 632, 33, 33, $WS_GROUP) $Eight = GUICtrlCreateButton("8", 256, 632, 33, 33, $WS_GROUP) $Nine = GUICtrlCreateButton("9", 288, 632, 33, 33, $WS_GROUP) $Zero = GUICtrlCreateButton("0", 320, 632, 33, 33, $WS_GROUP) $Minus = GUICtrlCreateButton("-", 352, 632, 33, 33, $WS_GROUP) $Equal = GUICtrlCreateButton("=", 384, 632, 33, 33, $WS_GROUP) $Back = GUICtrlCreateButton("<-------", 416, 632, 65, 33, $WS_GROUP) $Insert = GUICtrlCreateButton("Insert", 488, 632, 33, 33, $WS_GROUP) $Home = GUICtrlCreateButton("Home", 520, 632, 33, 33, $WS_GROUP) $PageUp = GUICtrlCreateButton("PgUp", 552, 632, 33, 33, $WS_GROUP) $NumberLock = GUICtrlCreateButton("NmLo", 592, 632, 33, 33, $WS_GROUP) $NumberPadSlash = GUICtrlCreateButton("/", 624, 632, 33, 33, $WS_GROUP) $NumberPadX = GUICtrlCreateButton("*", 656, 632, 33, 33, $WS_GROUP) $NumberPadMinus = GUICtrlCreateButton("-", 688, 632, 33, 33, $WS_GROUP) $Tab = GUICtrlCreateButton("Tab", 0, 664, 41, 33, $WS_GROUP) $q = GUICtrlCreateButton("Q", 40, 664, 33, 33, $WS_GROUP) $w = GUICtrlCreateButton("W", 72, 664, 33, 33, $WS_GROUP) $e = GUICtrlCreateButton("E", 104, 664, 33, 33, $WS_GROUP) $r = GUICtrlCreateButton("R", 136, 664, 33, 33, $WS_GROUP) $t = GUICtrlCreateButton("T", 168, 664, 33, 33, $WS_GROUP) $y = GUICtrlCreateButton("Y", 200, 664, 33, 33, $WS_GROUP) $u = GUICtrlCreateButton("U", 232, 664, 33, 33, $WS_GROUP) $i = GUICtrlCreateButton("I", 264, 664, 33, 33, $WS_GROUP) $o = GUICtrlCreateButton("O", 296, 664, 33, 33, $WS_GROUP) $p = GUICtrlCreateButton("P", 328, 664, 33, 33, $WS_GROUP) $LeftBrackets = GUICtrlCreateButton("[", 360, 664, 33, 33, $WS_GROUP) $RightBrackets = GUICtrlCreateButton("]", 392, 664, 33, 33, $WS_GROUP) $Enter = GUICtrlCreateButton("Enter", 424, 664, 57, 65, $WS_GROUP) $Delete = GUICtrlCreateButton("Del", 488, 664, 33, 33, $WS_GROUP) $End = GUICtrlCreateButton("End", 520, 664, 33, 33, $WS_GROUP) $PageDown = GUICtrlCreateButton("PgDn", 552, 664, 33, 33, $WS_GROUP) $NumberPad7 = GUICtrlCreateButton("7", 592, 664, 33, 33, $WS_GROUP) $NumberPad8 = GUICtrlCreateButton("8", 624, 664, 33, 33, $WS_GROUP) $NumberPad9 = GUICtrlCreateButton("9", 656, 664, 33, 33, $WS_GROUP) $NumberPadPlus = GUICtrlCreateButton("+", 688, 664, 33, 65, $WS_GROUP) $CapsLock = GUICtrlCreateButton("CapsLck", 0, 696, 49, 33, $WS_GROUP) $a = GUICtrlCreateButton("A", 48, 696, 33, 33, $WS_GROUP) $s = GUICtrlCreateButton("S", 80, 696, 33, 33, $WS_GROUP) $d = GUICtrlCreateButton("D", 112, 696, 33, 33, $WS_GROUP) $f = GUICtrlCreateButton("F", 144, 696, 33, 33, $WS_GROUP) $g = GUICtrlCreateButton("G", 176, 696, 33, 33, $WS_GROUP) $h = GUICtrlCreateButton("H", 208, 696, 33, 33, $WS_GROUP) $j = GUICtrlCreateButton("J", 240, 696, 33, 33, $WS_GROUP) $k = GUICtrlCreateButton("K", 272, 696, 33, 33, $WS_GROUP) $l = GUICtrlCreateButton("L", 304, 696, 33, 33, $WS_GROUP) $Colon = GUICtrlCreateButton(";", 336, 696, 33, 33, $WS_GROUP) $Apostrophe = GUICtrlCreateButton("'", 368, 696, 33, 33, $WS_GROUP) $RightSlash = GUICtrlCreateButton("\", 400, 696, 33, 33, $WS_GROUP) $NumberPad4 = GUICtrlCreateButton("4", 592, 696, 33, 33, $WS_GROUP) $NumberPad5 = GUICtrlCreateButton("5", 624, 696, 33, 33, $WS_GROUP) $NumberPad6 = GUICtrlCreateButton("6", 656, 696, 33, 33, $WS_GROUP) $LeftShift = GUICtrlCreateButton("Shift", 0, 728, 33, 33, $WS_GROUP) $LeftSlash = GUICtrlCreateButton("\", 32, 728, 33, 33, $WS_GROUP) $z = GUICtrlCreateButton("Z", 64, 728, 33, 33, $WS_GROUP) $x = GUICtrlCreateButton("X", 96, 728, 33, 33, $WS_GROUP) $c = GUICtrlCreateButton("C", 128, 728, 33, 33, $WS_GROUP) $v = GUICtrlCreateButton("V", 160, 728, 33, 33, $WS_GROUP) $b = GUICtrlCreateButton("B", 192, 728, 33, 33, $WS_GROUP) $n = GUICtrlCreateButton("N", 224, 728, 33, 33, $WS_GROUP) $m = GUICtrlCreateButton("M", 256, 728, 33, 33, $WS_GROUP) $Comma = GUICtrlCreateButton(",", 288, 728, 33, 33, $WS_GROUP) $Dot = GUICtrlCreateButton(".", 320, 728, 33, 33, $WS_GROUP) $QuestionMark = GUICtrlCreateButton("/", 352, 728, 33, 33, $WS_GROUP) $RightShift = GUICtrlCreateButton("Shift", 384, 728, 97, 33, $WS_GROUP) $NumberPad1 = GUICtrlCreateButton("1", 592, 728, 33, 33, $WS_GROUP) $NumberPad2 = GUICtrlCreateButton("2", 624, 728, 33, 33, $WS_GROUP) $NumberPad3 = GUICtrlCreateButton("3", 656, 728, 33, 33, $WS_GROUP) $NumberPadEnter = GUICtrlCreateButton("Enter", 688, 728, 33, 65, $WS_GROUP) $LeftCtrl = GUICtrlCreateButton("Ctrl", 0, 760, 41, 33, $WS_GROUP) $LeftWindows = GUICtrlCreateButton("Win", 40, 760, 41, 33, $WS_GROUP) $LeftAlt = GUICtrlCreateButton("Alt", 80, 760, 41, 33, $WS_GROUP) $Space = GUICtrlCreateButton("Space", 120, 760, 201, 33, $WS_GROUP) $RightAlt = GUICtrlCreateButton("Alt", 320, 760, 41, 33, $WS_GROUP) $RightWindows = GUICtrlCreateButton("Win", 360, 760, 41, 33, $WS_GROUP) $RightCtrl = GUICtrlCreateButton("Ctrl", 400, 760, 81, 33, $WS_GROUP) $NumberPad0 = GUICtrlCreateButton("0", 592, 760, 65, 33, $WS_GROUP) $NumberPadDot = GUICtrlCreateButton(".", 656, 760, 33, 33, $WS_GROUP) $LeftArrow = GUICtrlCreateButton("<", 488, 760, 33, 33, $WS_GROUP) $DownArrow = GUICtrlCreateButton("|", 520, 760, 33, 33, $WS_GROUP) $RightArrow = GUICtrlCreateButton(">", 552, 760, 33, 33, $WS_GROUP) $UpArrow = GUICtrlCreateButton("^", 520, 728, 33, 33, $WS_GROUP) ;Pictures: $NumberLockOnPic = GUICtrlCreatePic("on.bmp", 600, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $NumberLockOffPic = GUICtrlCreatePic("off.bmp", 600, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $CapsLockOnPic = GUICtrlCreatePic("on.bmp", 624, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $CapsLockOffPic = GUICtrlCreatePic("off.bmp", 624, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $ScrollLockOnPic = GUICtrlCreatePic("on.bmp", 648, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $ScrollLockOffPic = GUICtrlCreatePic("off.bmp", 648, 3, 18, 26, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS)) $AboutButton = GUICtrlCreateButton("About", 676, 604, 43, 25, $WS_GROUP) ;Setting Pictures: _GetNumLock() _GetCapsLock() _GetScrollLock() If _GetNumLock() = 1 Then $NumberLockOn = True Else GUICtrlSetState($NumberLockOnPic,$GUI_HIDE) $NumberLockOn = False EndIf If _GetCapsLock() = 1 Then $CapsLockOn = True Else GUICtrlSetState($CapsLockOnPic,$GUI_HIDE) $CapsLockOn = False EndIf If _GetScrollLock() = 1 Then $ScrollLockOn = True Else GUICtrlSetState($ScrollLockOnPic,$GUI_HIDE) $ScrollLockOn = False EndIf ;Current focused window will remain focused even after the keyboard GUI is up: GUISetState(@SW_HIDE) $WGT = WinGetTitle("","") GUISetState(@SW_SHOW) WinActivate($WGT) ;/ While 1 If WinActive($Form1) = False Then WinSetTitle($Form1,"",$MainGUITitle & WinGetTitle("","")) EndIf $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $AboutButton GUISetState(@SW_DISABLE) GUISetState(@SW_HIDE) MsgBox(64,"About Virtual Keyboard "&$ProductVersion,"Made by Info @ AutoIt Forums."&@CRLF&" www.autoitscript.com") GUISetState(@SW_Enable) GUISetState(@SW_SHOW) Case $ScrollLock _ScrollLockPushed() Case $NumberLock _NumberLockPushed() Case $CapsLock _CapsLockPushed() Case $Esc PressButton("{Escape}",0) Case $F1 PressButton("{F1}",0) Case $F2 PressButton("{F2}",0) Case $F3 PressButton("{F3}",0) Case $F4 PressButton("{F4}",0) Case $F5 PressButton("{F5}",0) Case $F6 PressButton("{F6}",0) Case $F7 PressButton("{F7}",0) Case $F8 PressButton("{F8}",0) Case $F9 PressButton("{F9}",0) Case $F10 PressButton("{F10}",0) Case $F11 PressButton("{F11}",0) Case $F12 PressButton("{F12}",0) Case $PrintScreen GUISetState(@SW_HIDE) PressButton("{PrintScreen}",0) GUISetState(@SW_SHOW) Case $PauseBreak PressButton("{PAUSE}",0) Case $Igel PressButton("`",0) Case $One PressButton("1",0) Case $Two PressButton("2",0) Case $Three PressButton("3",0) Case $Four PressButton("4",0) Case $Five PressButton("5",0) Case $Six PressButton("6",0) Case $Seven PressButton("7",0) Case $Eight PressButton("8",0) Case $Nine PressButton("9",0) Case $Zero PressButton("0",0) Case $Minus PressButton("-",0) Case $Equal PressButton("=",0) Case $Back PressButton("{Backspace}",0) Case $Insert PressButton("{Insert}",0) Case $Home PressButton("{Home}",0) Case $PageUp PressButton("{PgUp}",0) Case $NumberPadSlash PressButton("/",0) Case $NumberPadX PressButton("*",0) Case $NumberPadMinus PressButton("{-}",0) Case $Tab PressButton("{Tab}",0) Case $q PressButton("q",0) Case $w PressButton("w",0) Case $e PressButton("e",0) Case $r PressButton("r",0) Case $t PressButton("t",0) Case $y PressButton("y",0) Case $u PressButton("u",0) Case $i PressButton("i",0) Case $o PressButton("o",0) Case $p PressButton("p",0) Case $LeftBrackets PressButton("[",0) Case $RightBrackets PressButton("]",0) Case $Enter PressButton("{Enter}",0) Case $Delete PressButton("{Delete}",0) Case $End PressButton("{End}",0) Case $PageDown PressButton("{PgDn}",0) Case $NumberPad7 PressButton("{NumPad7}",0) Case $NumberPad8 PressButton("{NumPad8}",0) Case $NumberPad9 PressButton("{NumPad9}",0) Case $NumberPadPlus PressButton("{+}",0) Case $a PressButton("a",0) Case $s PressButton("s",0) Case $d PressButton("d",0) Case $f PressButton("f",0) Case $g PressButton("g",0) Case $h PressButton("h",0) Case $j PressButton("j",0) Case $k PressButton("k",0) Case $l PressButton("l",0) Case $Colon PressButton(";",0) Case $Apostrophe PressButton("'",0) Case $RightSlash PressButton("\",0) Case $NumberPad4 PressButton("{NumPad4}",0) Case $NumberPad5 PressButton("{NumPad5}",0) Case $NumberPad6 PressButton("{NumPad6}",0) Case $LeftSlash PressButton("\",0) Case $z PressButton("z",0) Case $x PressButton("x",0) Case $c PressButton("c",0) Case $v PressButton("v",0) Case $b PressButton("b",0) Case $n PressButton("n",0) Case $m PressButton("m",0) Case $Comma PressButton(",",0) Case $Dot PressButton(".",0) Case $QuestionMark PressButton("/",0) Case $NumberPad1 PressButton("{NumPad1}",0) Case $NumberPad2 PressButton("{NumPad2}",0) Case $NumberPad3 PressButton("{NumPad3}",0) Case $NumberPadEnter PressButton("{NumPadEnter}",0) Case $LeftWindows PressButton("{Lwin}",0) Case $Space PressButton("{Space}",0) Case $RightWindows PressButton("{Rwin}",0) Case $NumberPad0 PressButton("{NumPad0}",0) Case $NumberPadDot PressButton("{NumPadDot}",0) Case $LeftArrow PressButton("{Left}",0) Case $DownArrow PressButton("{Down}",0) Case $RightArrow PressButton("{Right}",0) Case $UpArrow PressButton("{Up}",0) Case $LeftShift If $fLeftShiftHolden = False And $fRightShiftHolden = False Then PressButton("{SHIFTDOWN}",1) $fLeftShiftHolden = True GUICtrlDelete($LeftShift) $LeftShift = GUICtrlCreateButton("Shift", 0, 128, 33, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fLeftShiftHolden = True And $fRightShiftHolden = False Then PressButton("{SHIFTUP}",1) $fLeftShiftHolden = False GUICtrlDelete($LeftShift) $LeftShift = GUICtrlCreateButton("Shift", 0, 128, 33, 33, $WS_GROUP) ElseIf $fLeftShiftHolden = False And $fRightShiftHolden = True Then PressButton("{SHIFTDOWN}",1) $fRightShiftHolden = False $fLeftShiftHolden = True GUICtrlDelete($LeftShift) GUICtrlDelete($RightShift) $LeftShift = GUICtrlCreateButton("Shift", 0, 128, 33, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $RightShift = GUICtrlCreateButton("Shift", 384, 128, 97, 33, $WS_GROUP) EndIf Case $RightShift If $fRightShiftHolden = False And $fLeftShiftHolden = False Then PressButton("{SHIFTDOWN}",1) $fRightShiftHolden = True GUICtrlDelete($RightShift) $RightShift = GUICtrlCreateButton("Shift", 384, 128, 97, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fRightShiftHolden = True And $fLeftShiftHolden = False Then PressButton("{SHIFTUP}",1) $fRightShiftHolden = False GUICtrlDelete($RightShift) $RightShift = GUICtrlCreateButton("Shift", 384, 128, 97, 33, $WS_GROUP) ElseIf $fRightShiftHolden = False And $fLeftShiftHolden = True Then PressButton("{SHIFTDOWN}",1) $fLeftShiftHolden = False $fRightShiftHolden = True GUICtrlDelete($RightShift) GUICtrlDelete($LeftShift) $RightShift = GUICtrlCreateButton("Shift", 384, 128, 97, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $LeftShift = GUICtrlCreateButton("Shift", 0, 128, 33, 33, $WS_GROUP) EndIf Case $LeftCtrl If $fLeftCtrlHolden = False And $fRightCtrlHolden = False Then PressButton("{CTRLDOWN}",1) $fLeftCtrlHolden = True GUICtrlDelete($LeftCtrl) $LeftCtrl = GUICtrlCreateButton("Ctrl", 0, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fLeftCtrlHolden = True And $fRightCtrlHolden = False Then PressButton("{CTRLUP}",1) $fLeftCtrlHolden = False GUICtrlDelete($LeftCtrl) $LeftCtrl = GUICtrlCreateButton("Ctrl", 0, 160, 41, 33, $WS_GROUP) ElseIf $fLeftCtrlHolden = False And $fRightCtrlHolden = True Then PressButton("{CTRLDOWN}",1) $fRightCtrlHolden = False $fLeftCtrlHolden = True GUICtrlDelete($LeftCtrl) GUICtrlDelete($RightCtrl) $LeftCtrl = GUICtrlCreateButton("Ctrl", 0, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $RightCtrl = GUICtrlCreateButton("Ctrl", 400, 160, 81, 33, $WS_GROUP) EndIf Case $RightCtrl If $fRightCtrlHolden = False And $fLeftCtrlHolden = False Then PressButton("{CTRLDOWN}",1) $fRightCtrlHolden = True GUICtrlDelete($RightCtrl) $RightCtrl = GUICtrlCreateButton("Ctrl", 400, 160, 81, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fRightCtrlHolden = True And $fLeftCtrlHolden = False Then PressButton("{CTRLUP}",1) $fRightCtrlHolden = False GUICtrlDelete($RightCtrl) $RightCtrl = GUICtrlCreateButton("Ctrl", 400, 160, 81, 33, $WS_GROUP) ElseIf $fRightCtrlHolden = False And $fLeftCtrlHolden = True Then PressButton("{CTRLDOWN}",1) $fLeftCtrlHolden = False $fRightCtrlHolden = True GUICtrlDelete($RightCtrl) GUICtrlDelete($LeftCtrl) $RightCtrl = GUICtrlCreateButton("Ctrl", 400, 160, 81, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $LeftCtrl = GUICtrlCreateButton("Ctrl", 0, 160, 41, 33, $WS_GROUP) EndIf Case $LeftAlt If $fLeftAltHolden = False And $fRightAltHolden = False Then PressButton("{ALTDOWN}",1) $fLeftAltHolden = True GUICtrlDelete($LeftAlt) $LeftAlt = GUICtrlCreateButton("Alt", 80, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fLeftAltHolden = True And $fRightAltHolden = False Then PressButton("{ALTUP}",1) $fLeftAltHolden = False GUICtrlDelete($LeftAlt) $LeftAlt = GUICtrlCreateButton("Alt", 80, 160, 41, 33, $WS_GROUP) ElseIf $fLeftAltHolden = False And $fRightAltHolden = True Then PressButton("{ALTDOWN}",1) $fRightAltHolden = False $fLeftAltHolden = True GUICtrlDelete($LeftAlt) GUICtrlDelete($RightAlt) $LeftAlt = GUICtrlCreateButton("Alt", 80, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $RightAlt = GUICtrlCreateButton("Alt", 320, 160, 41, 33, $WS_GROUP) EndIf Case $RightAlt If $fRightAltHolden = False And $fLeftAltHolden = False Then PressButton("{ALTDOWN}",1) $fRightAltHolden = True GUICtrlDelete($RightAlt) $RightAlt = GUICtrlCreateButton("Alt", 320, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) ElseIf $fRightAltHolden = True And $fLeftAltHolden = False Then PressButton("{ALTUP}",1) $fRightAltHolden = False GUICtrlDelete($RightAlt) $RightAlt = GUICtrlCreateButton("Alt", 320, 160, 41, 33, $WS_GROUP) ElseIf $fRightAltHolden = False And $fLeftAltHolden = True Then PressButton("{ALTDOWN}",1) $fLeftAltHolden = False $fRightAltHolden = True GUICtrlDelete($RightAlt) GUICtrlDelete($LeftAlt) $RightAlt = GUICtrlCreateButton("Alt", 320, 160, 41, 33, $WS_GROUP, $WS_EX_CLIENTEDGE) $LeftAlt = GUICtrlCreateButton("Alt", 80, 160, 41, 33, $WS_GROUP) EndIf EndSwitch WEnd Func PressButton($_Key,$_HoldNeeded) $ReplacedString = StringReplace(WinGetTitle($Form1),"Virtual Keyboard v0.1 - ","") If WinActivate($ReplacedString) Then Send($_Key) If $_HoldNeeded = 1 Then SoundPlay("Hold.wav") Else SoundPlay("Type.wav") SoundSetWaveVolume(30);Set volume for both Hold.wav and Type.wav EndIf EndFunc Func _GetNumLock(); By GaryFrost Local $ret $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK) Return $ret[0] EndFunc Func _GetScrollLock(); By GaryFrost Local $ret $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_SCROLL) Return $ret[0] EndFunc Func _GetCapsLock(); By GaryFrost Local $ret $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_CAPITAL) Return $ret[0] EndFunc Func Quit() GUIDelete($Form1) Exit EndFunc Edited August 22, 2017 by Melba23 Added code tags Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted August 22, 2017 Moderators Share Posted August 22, 2017 (edited) WawaN120685, Welcome to the AutoIt forums. When you post code please use Code tags - see here how to do it. Then you get a scrolling box and syntax colouring as you can see above now I have added the tags. M23 Edit: Thread unlocked - it is a virtual keyboard and this not a keylogger as I first thought. Edited August 22, 2017 by Melba23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
WawaN120685 Posted August 23, 2017 Author Share Posted August 23, 2017 Thanx melba Still try to search in whole forum for the other source example, hope somebody will help too Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now