Baz Posted March 3, 2006 Share Posted March 3, 2006 Hi all. I would like to create a gui that displays the 26 letters (a-z) as buttons so that a user could click on the buttons and as they do, store this information as a variable. I have no problems creating the form, but need help with the code to record the buttons pushed and then store the buttons as a variable. What I am trying to do is get around the use of the keyboard to prevent keystroke recorders from detecting a password as I would fill this gui with buttons to run other programs and provide the program with username and password. Thanks Baz Link to comment Share on other sites More sharing options...
greenmachine Posted March 3, 2006 Share Posted March 3, 2006 (edited) I think the way I would do it is to use GUIOnEventMode, and have an event for every key button pointing to the same function. In that function, you would read the @GUI_CTRLID that made the function be called, and get the corresponding text, and store that into a variable. Example code: #include <guiconstants.au3> Opt ("GUIOnEventMode", 1) $Buttons_GUI = GUICreate ("Buttons") GUICtrlSetOnEvent (-1, "closeme") $Button_a = GUICtrlCreateButton ("a", 1, 0, 20, 20) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button_b = GUICtrlCreateButton ("b", 1, 25, 20, 20) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button_c = GUICtrlCreateButton ("c", 1, 50, 20, 20) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button_d = GUICtrlCreateButton ("d", 1, 75, 20, 20) GUICtrlSetOnEvent (-1, "ButtonPressed") GUISetState () While 1 Sleep (100) WEnd Func ButtonPressed() MsgBox (0, "", GUICtrlRead (@GUI_CtrlId)) EndFunc Func closeme() Exit EndFunc Edited March 3, 2006 by greenmachine Link to comment Share on other sites More sharing options...
Infinitex0 Posted March 3, 2006 Share Posted March 3, 2006 I'm pretty sure that windows XP has a built in screen keyboard. The below statement is False.The above statement is True.a lesson I learned from Greenmachine; give a man a code and he'll solve one problem. Teach a man to code and he'll solve all his problems.P.S please don't use autoIt as a virus creator/spyware maker(keyLogger especially)Cick this and help me[center]My Scripts:[/center][center]Port Scanner[/center] Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted March 3, 2006 Moderators Share Posted March 3, 2006 http://www.autoitscript.com/forum/index.ph...topic=21141&hl= Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
Nuffilein805 Posted March 3, 2006 Share Posted March 3, 2006 try win+u for the winxp inkeyboard the rest could be done by while 1 $msg = guigetmsg() if $msg = $a then $variable = $variable & "a" ... wend my little chatmy little encryption toolmy little hidermy unsafe clickbot Link to comment Share on other sites More sharing options...
ChrisL Posted March 3, 2006 Share Posted March 3, 2006 You can modify this if you want.. expandcollapse popup#include <GuiConstants.au3> $keyboard = GuiCreate("Enter Labserver Name", 726, 362,(@DesktopWidth-726)/2, (@DesktopHeight-362)/2 , $WS_VISIBLE + $WS_POPUP) GuiCtrlCreateLabel ("Input Server Name:", 40, 27, 99, 40) $Input_1 = GuiCtrlCreateInput("", 140, 20, 140, 30) GUICtrlSetFont (-1, 14) $Button_go = GuiCtrlCreateButton("Go", 300, 20, 60, 30) $Button_1 = GuiCtrlCreateButton("1", 30, 70, 40, 40) $Button_2 = GuiCtrlCreateButton("2", 90,70, 40, 40) $Button_3 = GuiCtrlCreateButton("3", 150,70, 40, 40) $Button_4 = GuiCtrlCreateButton("4", 210,70, 40, 40) $Button_5 = GuiCtrlCreateButton("5", 270,70, 40, 40) $Button_6 = GuiCtrlCreateButton("6", 330,70, 40, 40) $Button_7 = GuiCtrlCreateButton("7", 390,70, 40, 40) $Button_8 = GuiCtrlCreateButton("8", 450,70, 40, 40) $Button_9 = GuiCtrlCreateButton("9", 510,70, 40, 40) $Button_0 = GuiCtrlCreateButton("0", 570,70, 40, 40) $Button_q = GuiCtrlCreateButton("Q", 50, 130, 40, 40) $Button_w = GuiCtrlCreateButton("W", 110, 130, 40, 40) $Button_e = GuiCtrlCreateButton("E", 170, 130, 40, 40) $Button_r = GuiCtrlCreateButton("R", 230, 130, 40, 40) $Button_t = GuiCtrlCreateButton("T", 290, 130, 40, 40) $Button_y = GuiCtrlCreateButton("Y", 350, 130, 40, 40) $Button_u = GuiCtrlCreateButton("U", 410, 130, 40, 40) $Button_i = GuiCtrlCreateButton("I", 470, 130, 40, 40) $Button_o = GuiCtrlCreateButton("O", 530, 130, 40, 40) $Button_p = GuiCtrlCreateButton("P", 590, 130, 40, 40) $Button_a = GuiCtrlCreateButton("A", 70, 190, 40, 40) $Button_s = GuiCtrlCreateButton("S", 130, 190, 40, 40) $Button_d = GuiCtrlCreateButton("D", 190, 190, 40, 40) $Button_f = GuiCtrlCreateButton("F", 250, 190, 40, 40) $Button_g = GuiCtrlCreateButton("G", 310, 190, 40, 40) $Button_h = GuiCtrlCreateButton("H", 370, 190, 40, 40) $Button_j = GuiCtrlCreateButton("J", 430, 190, 40, 40) $Button_k = GuiCtrlCreateButton("K", 490, 190, 40, 40) $Button_l = GuiCtrlCreateButton("L", 550, 190, 40, 40) $Button_z = GuiCtrlCreateButton("Z", 100, 250, 40, 40) $Button_x = GuiCtrlCreateButton("X", 160, 250, 40, 40) $Button_c = GuiCtrlCreateButton("C", 220, 250, 40, 40) $Button_v = GuiCtrlCreateButton("V", 280, 250, 40, 40) $Button_b = GuiCtrlCreateButton("B", 340, 250, 40, 40) $Button_n = GuiCtrlCreateButton("N", 400, 250, 40, 40) $Button_m = GuiCtrlCreateButton("M", 460, 250, 40, 40) GuiCtrlCreateLabel ("Special Chrs", 120, 320, 70, 40) $Button_underscore = GuiCtrlCreateButton("_", 190, 310, 40, 40) $Button_minus = GuiCtrlCreateButton("-", 250, 310, 40, 40) $Button_stop = GuiCtrlCreateButton(".", 310, 310, 40, 40) $Button_del = GuiCtrlCreateButton("Delete", 540, 20, 90, 40) GuiSetState() WinsetonTop ($Keyboard, "",1) While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $Button_1 pressed ("1") Case $msg = $Button_2 pressed ("2") Case $msg = $Button_3 pressed ("3") Case $msg = $Button_4 pressed ("4") Case $msg = $Button_5 pressed ("5") Case $msg = $Button_6 pressed ("6") Case $msg = $Button_7 pressed ("7") Case $msg = $Button_8 pressed ("8") Case $msg = $Button_9 pressed ("9") Case $msg = $Button_0 pressed ("0") Case $msg = $Button_q pressed ("Q") Case $msg = $Button_w pressed ("W") Case $msg = $Button_e pressed ("E") Case $msg = $Button_r pressed ("R") Case $msg = $Button_t pressed ("T") Case $msg = $Button_y pressed ("Y") Case $msg = $Button_u pressed ("U") Case $msg = $Button_i pressed ("I") Case $msg = $Button_o pressed ("O") Case $msg = $Button_p pressed ("P") Case $msg = $Button_a pressed ("A") Case $msg = $Button_s pressed ("S") Case $msg = $Button_d pressed ("D") Case $msg = $Button_f pressed ("F") Case $msg = $Button_g pressed ("G") Case $msg = $Button_h pressed ("H") Case $msg = $Button_j pressed ("J") Case $msg = $Button_k pressed ("K") Case $msg = $Button_l pressed ("L") Case $msg = $Button_z pressed ("Z") Case $msg = $Button_x pressed ("X") Case $msg = $Button_c pressed ("C") Case $msg = $Button_v pressed ("V") Case $msg = $Button_b pressed ("B") Case $msg = $Button_n pressed ("N") Case $msg = $Button_m pressed ("M") Case $msg = $Button_underscore pressed ("_") Case $msg = $Button_minus pressed ("-") Case $msg = $Button_stop pressed (".") Case $msg = $Button_del $String = GuictrlRead ($Input_1) $String = Stringtrimright ($String,1) GuiCtrlSetData ($Input_1, $String) Case $msg = $Button_go GuiSetState (@SW_DISABLE, $keyboard) $String = GuictrlRead ($Input_1) $answer = MsgBox (262148,"You have entered", $String & " is this correct?") If $Answer = 6 then GuiSetState (@SW_Enable, $keyboard) GuiDelete ($keyboard) ExitLoop Else GuiSetState (@SW_Enable, $keyboard) Endif Case Else ;;; EndSelect WEnd Func Pressed ($Key) $String = GuictrlRead ($Input_1) $String = $String & $Key GuiCtrlSetData ($Input_1, $String) EndFunc [u]Scripts[/u]Minimize gui to systray _ Fail safe source recoveryMsgbox UDF _ _procwatch() Stop your app from being closedLicensed/Trial software system _ Buffering Hotkeys_SQL.au3 ADODB.Connection _ Search 2d Arrays_SplashTextWithGraphicOn() _ Adjust Screen GammaTransparent Controls _ Eventlogs without the crap_GuiCtrlCreateFlash() _ Simple Interscript communication[u]Websites[/u]Curious Campers VW Hightops Lambert Plant Hire Link to comment Share on other sites More sharing options...
herewasplato Posted March 3, 2006 Share Posted March 3, 2006 I'm pretty sure that windows XP has a built in screen keyboard.Yes, but the output of that keyboard can be trapped by software.The OP is attempting "to prevent keystroke recorders from detecting a password". [size="1"][font="Arial"].[u].[/u][/font][/size] Link to comment Share on other sites More sharing options...
Baz Posted March 5, 2006 Author Share Posted March 5, 2006 Thanks to all those who repiled. Below is a copy of what I am using. I have also tested with four key loggers and none pickup user name or password. The only issue is that if the exe file is on a networked dirve, then the @windowsdir and @systemdir don't seem to work. Cheers Baz #include <GUIConstants.au3> ; == GUI generated with Koda == Opt ("GUIOnEventMode", 1) Dim $pw Dim $word Dim $blank $blank="#" $HelpDeskTools = GUICreate("HelpDeskTools", 439, 376) $Tab1 = GUICtrlCreateTab(8, 8, 425, 201) $TabSheet1 = GUICtrlCreateTabItem("Registry") $Button1 = GUICtrlCreateButton("Regedit", 24, 40, 121, 33, 0) GUICtrlSetOnEvent (-1, "regme") $TabSheet2 = GUICtrlCreateTabItem("File Shares") $Button2 = GUICtrlCreateButton("Explore ZEN Images", 24, 40, 121, 33, 0) GUICtrlSetOnEvent (-1, "zenimg") $Button30 = GUICtrlCreateButton("Explore ZEN APPS", 24, 80, 121, 33, 0) GUICtrlSetOnEvent (-1, "zenapps") $Button31 = GUICtrlCreateButton("J Drive Site1", 24, 120, 121, 33, 0) GUICtrlSetOnEvent (-1, "pjdrv") $Button32 = GUICtrlCreateButton("J Drive Site 2", 24, 160, 121, 33, 0) GUICtrlSetOnEvent (-1, "cjdrv") $TabSheet3 = GUICtrlCreateTabItem("Windows") GUICtrlSetState(-1,$GUI_SHOW) $Button33 = GUICtrlCreateButton("Add/Remove Software", 24, 40, 121, 33, 0) GUICtrlSetOnEvent (-1, "AddRem") $Button34 = GUICtrlCreateButton("Computer Management", 24, 80, 121, 33, 0) GUICtrlSetOnEvent (-1, "ComMang") $Button35 = GUICtrlCreateButton("Defrag C Drive", 24, 120, 121, 33, 0) GUICtrlSetOnEvent (-1, "DFrag") $Button36 = GUICtrlCreateButton("Manage Local Users", 24, 160, 121, 33, 0) GUICtrlSetOnEvent (-1, "MLU") $Button37 = GUICtrlCreateButton("Windows Services", 160, 40, 121, 33, 0) GUICtrlSetOnEvent (-1, "Service") $Button38 = GUICtrlCreateButton("Task Manager", 160, 80, 121, 33, 0) GUICtrlSetOnEvent (-1, "TaskMGR") GUICtrlCreateTabItem("") $Group1 = GUICtrlCreateGroup("", 8, 216, 425, 81) $Button4 = GUICtrlCreateButton("a", 16, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button5 = GUICtrlCreateButton("b", 48, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button6 = GUICtrlCreateButton("c", 80, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button7 = GUICtrlCreateButton("d", 112, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button8 = GUICtrlCreateButton("e", 144, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button9 = GUICtrlCreateButton("f", 176, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button10 = GUICtrlCreateButton("g", 208, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button11 = GUICtrlCreateButton("h", 240, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button12 = GUICtrlCreateButton("i", 272, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button13 = GUICtrlCreateButton("j", 304, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button14 = GUICtrlCreateButton("k", 336, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button15 = GUICtrlCreateButton("l", 368, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button16 = GUICtrlCreateButton("m", 400, 232, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button17 = GUICtrlCreateButton("n", 16, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button18 = GUICtrlCreateButton("o", 48, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button19 = GUICtrlCreateButton("p", 80, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button20 = GUICtrlCreateButton("q", 112, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button21 = GUICtrlCreateButton("r", 144, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button22 = GUICtrlCreateButton("s", 176, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button23 = GUICtrlCreateButton("t", 208, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button24 = GUICtrlCreateButton("u", 240, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button25 = GUICtrlCreateButton("v", 272, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button26 = GUICtrlCreateButton("w", 304, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button27 = GUICtrlCreateButton("x", 336, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button28 = GUICtrlCreateButton("y", 368, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button29 = GUICtrlCreateButton("z", 400, 264, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button41 = GUICtrlCreateButton("0", 16, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button42 = GUICtrlCreateButton("1", 48, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button43 = GUICtrlCreateButton("2", 80, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button44 = GUICtrlCreateButton("3", 112, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button45 = GUICtrlCreateButton("4", 144, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button46 = GUICtrlCreateButton("5", 176, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button47 = GUICtrlCreateButton("6", 208, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button48 = GUICtrlCreateButton("7", 240, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button49 = GUICtrlCreateButton("8", 272, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button50 = GUICtrlCreateButton("9", 304, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button51 = GUICtrlCreateButton("#", 336, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") $Button52 = GUICtrlCreateButton("*", 368, 296, 25, 25, 0) GUICtrlSetOnEvent (-1, "ButtonPressed") GUICtrlCreateGroup("", -99, -99, 1, 1) $MaskEdit1 = GUICtrlCreateInput("", 320, 334, 113, 33, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL)) $Button3 = GUICtrlCreateButton("Exit", 200, 334, 97, 33, 0) GUICtrlSetOnEvent (-1, "Close") $Button39 = GUICtrlCreateButton("Restart", 104, 334, 81, 33, 0) GUICtrlSetOnEvent (-1, "ClrPW") ;$Button40 = GUICtrlCreateButton("Enter", 8, 336, 81, 33, 0) ;GUICtrlSetOnEvent (-1, "Enter") GUISetState(@SW_SHOW) While 1 $msg = GuiGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case Else ;;;;;;; EndSelect WEnd Func ButtonPressed() $MaskEdit1 = GUICtrlCreateInput($blank, 320, 334, 113, 33, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL)) $pw=$pw & GUICtrlRead (@GUI_CtrlId) $blank=$blank & "#" EndFunc Func Close() Exit EndFunc #cs Func Enter() MsgBox (0,"Your Password is: ", $pw) $word=$pw EndFunc #ce Func ClrPW() $MaskEdit1 = GUICtrlCreateInput("", 320, 334, 113, 33) $pw="" $blank="#" EndFunc Func TaskMGR() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\Taskmgr.exe") RunAsSet() EndFunc Func Service() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\mmc.exe " & @WindowsDir & "\system32\services.msc") RunAsSet() EndFunc Func AddRem() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\control.exe " & @WindowsDir & "\system32\appwiz.cpl") RunAsSet() EndFunc Func ComMang() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\mmc.exe " & @WindowsDir & "\system32\compmgmt.msc") RunAsSet() EndFunc Func DFrag() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\mmc.exe " & @WindowsDir & "\system32\dfrg.msc") RunAsSet() EndFunc Func MLU() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\system32\mmc.exe " & @WindowsDir & "\system32\lusrmgr.msc") RunAsSet() EndFunc Func regme() If $pw=""Then Exit RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\regedit.exe") RunAsSet() EndFunc Func zenimg() If $pw=""Then Exit ;RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\explorer.exe /e, \\zensvr\zen\images") ;RunAsSet() EndFunc Func zenapps() If $pw=""Then Exit ;RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\explorer.exe /e, \\zensvr\zen\zfd") ;RunAsSet() EndFunc Func pjdrv() If $pw=""Then Exit ;RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\explorer.exe /e, \\site1\data\course_data") ;RunAsSet() EndFunc Func cjdrv() If $pw=""Then Exit ;RunAsSet("Administrator", @Computername, $pw) RunWait(@WindowsDir & "\explorer.exe /e, \\site2\data\course_data") ;RunAsSet() EndFunc 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