Jump to content

Search the Community

Showing results for tags 'controlsend'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Announcements and Site News
    • Administration
  • AutoIt v3
    • AutoIt Help and Support
    • AutoIt Technical Discussion
    • AutoIt Example Scripts
  • Scripting and Development
    • Developer General Discussion
    • Language Specific Discussion
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • AutoIt Team
    • Beta
    • MVP
  • AutoIt
    • Automation
    • Databases and web connections
    • Data compression
    • Encryption and hash
    • Games
    • GUI Additions
    • Hardware
    • Information gathering
    • Internet protocol suite
    • Maths
    • Media
    • PDF
    • Security
    • Social Media and other Website API
    • Windows
  • Scripting and Development
  • IT Administration
    • Operating System Deployment
    • Windows Client
    • Windows Server
    • Office


  • Forum
  • AutoIt


  • Community Calendar

Found 27 results

  1. Run("notepad.exe") GLOBAL $One = ('Line1' & _ 'Line2' & _ 'Line3' & _ 'Line4' & _ 'Line5') ClipPut($One) $Notepad = WinWait("[CLASS:Notepad]", "", 10) ControlSend("Untitled - Notepad", "", "", ("^v")) Instead of having this paste as Line1Line2Line3Line4Line5 How can I make it paste it into notepad as (without double spacing.) Line1 Line2 Line3 Line4 Line5
  2. Hello! I created some scripts for a simple farming bot a few years ago and they rely on ControlSend. A year ago I quit that game and then installed Windows 10 (was using windows 7). Recently I installed that game and tried running them again and they seem to work (I have some messages displayed on the screen with the state of the bot ), except for the ControlSend part (which obviously is crucial). I started debugging the scripts so I created a basic script that makes use of Send. I tested this with Notepad in focus and works just fine and then with my game window in focus and it didn't work (it's supposed to write that text in an input box from the game). #include <MsgBoxConstants.au3> Sleep(3000); Send("some text"); MsgBox($MB_OK, "Notification", "Control was sent!"); Is there a way for the creators of the game to create some kind of security system against this? Or something happens because I updated to Windows 10? Is there something I'm missing? Thank you!
  3. Hello everyone, I have a script that is automating a piece of sluggish software. I want to automate it with a bit of caution and I am not sure the best way to do it. ControlSend works great most of the time. If I have it enter 10 into a text box every once in a while it will enter 1 or 11 and then hit enter. To overcome this I use MouseClick to select the text I just entered and then see if it matches the string it was supposed to put in before it hits enter. This seems to work but what I love about ControlSend is there is less room for human interaction messing it up. Yes I could block input but I prefer not to do that (permissions). Is there a better way of doing this? Any Help would be much appreciated. Anyway here is the snippet of the script in question: Func KVSend () WinActivate ( "Window", "" ) Local $WindowPos = WinGetPos("Window", "") If $kV < 30 Then WinActivate ( "Window", "" ) ControlClick ("Window", "", 1001) ;Click in Accel Voltage box Sleep (100) ControlSend ("Window", "", 1001, $kV) ; \ kV Sleep (100) MouseMove($WindowPos[0]+130,$WindowPos[1]+75,1) MouseClick($MOUSE_CLICK_LEFT) MouseClick($MOUSE_CLICK_LEFT) Send ("^c") Local $clip = ClipGet () If $clip = $kV Then ControlSend ("Window", "", 1001, "{ENTER}") ;Hit ENTER if value is correct Sleep (100) ControlClick ("Window", "", 1518) ;Lens Clear Else Send ("{BACKSPACE}") KVSend() ; If value is incorrect try again EndIf EndIf
  4. Do you have a working imagesearch.au3 with working dll? and how can i gethandle and send keyboard/mouse commands to hidden d3d window? i have tried imagesearch2015 but im getting dll error every time and tried older imagesearchs too in forum what i found. i have tried many things to send commands to hidden/background d3dwindow still nothing works. Can you help me please?
  5. Was testing ControlSend("My Window Name", "", "", "^c") vs the normal Send("^c") or _SendEx("^c") to copy selected text from a window... In Windows, I have a setting that when I click the Ctrl key only, my mouse pointer is "highlighted" [that I could of course disable]. If I use Send("^c"), or do this manually, the mouse pointer is never highlighted, as I wish it to be. With ControlSend it *does* highlight... I thought that maybe the Ctrl key goes up a few ms too soon in that one and increased AutoItSetOption("SendKeyDownDelay", 5) to way higher, but it doesn't make a difference. As it doesn't seem possible to do "^ down", could it be prevented in some way? Beside the slight annoyance, it simply alerted me that these seem to work differently [and of course, they are different]. I also get the early impression that ControlSend [to copy] seems in no way quicker to get something on the clipboard, maybe even slower? Thanks
  6. [Solved] ControlSend

    How would I go about writing a IF Then statement if the conrol send fails? Run ("Notepad.exe") WinWaitActive ("Untitled - Notepad") ControlSend("Untitled - Notepad", "", "Edit1", ("Provider Practice Record")) I have been running into lag alot. So my script has been missing input. I would like to be able to have it retry to put in "Provider Practice Record" if it misses. I am assuming a if then statement is what I need but I am not sure what ControlSend will return if it tries to send to Edit1 and it is not there. Or do I need to just add a timeout?
  7. Okay so I am not sure if I can do this or not with the code I currently have but, I would like to send lastname and the first name with a comma inbetween. so it would look like "last name,first name" right now I just have it sending the last name. any help or sugestions are appreciated. $r = 1 Local $aArray = _Excel_RangeRead($oExcel, Default, Default) For $i = 1 To UBound($aArray) - 1 ;$i =0 Start from row A $sR1 = $aArray[$i][0] ;status $sR2 = $aArray[$i][1] ;first name $sR3 = $aArray[$i][2] ;Last name $sR5 = $aArray[$i][5] ;Email Address WinWaitActive ("[CLASS:MGUIWin]") Sleep (100) ControlSend("[CLASS:MGUIWin]", "", "Edit2", $sR3, & @CR) $r = $r + 1 If $r > $sBox Then Exit Endif Next
  8. Hello, I've been trying to automate a process to check in the GUI of a Java program for a certain condition. When I use the Autoit Window information tool I don't get anything under the control tab, which seems to be normal for a Java program. I've been able to automate what I need using ControlSend and checking for the condition using ImageSearch but the Java program will not accept ControlSend unless it is the active window. I'd like to run the script while the window is inactive so I can still use the PC but haven't been able to come up with a solution other than a virtual machine. I even tried sysinternals desktops to create a second virtual desktop but that just causes WinActivate to return a failure after you switch to another virtual desktop. Does anyone have any ideas for getting a window to think its active when its not or an alternative to ControlSend that may work? Thanks.
  9. I am trying to send a CTRL+G to a command prompt. It should send something like ^G this to the prompt but instead it sends only the G. To give more insight into what I am trying to create here: At my work we need a programm to open de cashdrawer using the commandprompt, i created a gui where you can set the COM-port to wich the command should be send. This works the COM-port setting is writting in a .ini file to be used every time the program opens. I have attached the files to the post. Hope someone can help me. open.zip
  10. Greetings! I have been trying to get send to this textarea on a website a message through ControlSend because _IEFormElementSetValue doesnt work on it, so i get the hwnd of the IE window then do the ControlSend to the window, and the message it sends doesnt type some of the letters. The textarea <textarea style="overflow:hidden;height:undefinedpx;" class="form-control input-sm" placeholder="Add a comment" rows="1" data-reactid=".$view."></textarea> How im getting the textarea: $comment_area = _IETagNameGetCollection($oIE,"textarea") for $element in $comment_area if $element.placeholder = "Add a comment" Then _IEAction($element,"focus") Sleep(1500) ;_IEFormElementSetValue($element,$comment_list[$random_index]) ;_IEFormSubmit($element) ControlSend($hIE,"","[CLASS:Internet Explorer_Server; INSTANCE:1]",$comment_list[$random_index],1) ;Send("{ENTER}") Sleep(3000) ;Hacer que sea random EndIf Next When i use _IEFormElementSetValue it changes the text on the box, but it doesn't change the value or something because when i send an Enter key it doesn't submit the message (I Also tried _IEFormSubmit) With ControlSend it does send it but corrupted, for example: Message: Pretty nice Result: ety nice Also i know the element is the actual one im referring because if i use _IEAction($element,"focus") it focuses the one i want. Any help appreciated!
  11. Send vs ControlSend

    Hey Guys - I am trying to write a very simple script that just types a value into ONE field and presses and next That's it! Here is what I am trying to do: I have a software product that used Installshield to package it - I wrote a response file per installshield directions / for the software and it automated almost everything except one window... sadly the company that makes the software doesn't want to help, installshield won't help since I don't have a license . So I am trying to write and autoit script to fill in the one window that doesn't get recorded in the response file to finish the installation My write activated the window but when I follow it with a send() it doesn't work here is what I have WinActivate("Server Information") Send("xx-xxx-xx") Send("!n") Send("{SPACE}") any ideas ?
  12. Variables

    I have the following script to put the variable value into the search field of windows explorer Global $file = FileOpen("LastBuild-4_0.txt") ; Check if file opened for reading OK then paste in search field If $file = -1 Then MsgBox(0, "Error", "Unable to open file.") Else Global $line = FileReadLine($file, 2) ShellExecute("Explorer.exe", "N:\DailyBuild\ICE") Sleep(3000) ControlSend("ICE", "", "[CLASS:Search Box; INSTANCE:1]", $line) the value of $line is "" (I confirmed it's pulling the right value), but all that gets entered in the search field in windows explorer is the last 3.
  13. Control send

    i'm trying to control send a javascript to chome developer console ControlSend("Developer Tools","","Chrome_RenderWidgetHostHWND1","hi") why it is not working ?
  14. So I am having this bug, don't know if someone had that before, couldn't find much with google and forum searches. I want to send TAB to a specific window we have at work. Tab changes the value of some specific things on the window. Now the first way I tried is ControlSend($hWND, "", "", "{TAB}"). That would normally work but in my case, it doesn't. I tried elevating scite, even though our program doesn't require admin, but still nothing. ControlSend doesn't return any error. Then the second bad way I tried was WinActivate($hWND) Send("{TAB}"). Now this works once out of ten. I could run the same script 10 times and it will only work once, maybe less. 1/20 times. I don't have any clue from which side this bug is coming from, autoit or my window. Any ideas?
  15. Hello, a simple script that auto fills blank fields. Annoying issue when I don't click the first field in time. Internet explore is already open to the forum I need. Is there a away for it to start auto filling the empty field, and it start where I set the cursor on IE? WinActivate("Internet Explore","") WinWaitActive("Internet Explore","",3) Send("Text in Edit1") Send("{TAB}") Send("Text in Edit2") Send("{TAB}") send("Text in Edit3") Send("{TAB}") Send("{DOWN}") Send("{DOWN}") Send("{TAB}") send("Text in Edit4")
  16. WinActivate("LogMeIn Hamachi") Sleep(1000) ControlSend("LogMeIn Hamachi","","Power","{SPACE}") WinSetState("LogMeIn Hamachi","",@SW_MINIMIZE)I have a client that is using Hamachi to remote access her office PC from home with VNC. There is an issue where the clients in the Hamachi network will randomly stop communicating with the rest of the Hamachi network group. The quick fix is to log into teamviewer and click the power button and let hamachi "power off" and then power it back on. This usually fixes it. I had her pay the $29 annual fee thinking that the problems would go away but they haven't. I made the above script and it does power off the machine and I can run it again to turn it back on but I would like to do it without having to activate the Hamachi window and then power cycling it then minimizing it. Also I would like to get notified if there is a client in the Hamachi window that is on the net but cannot connect. The difference in the GUI is that the client is flagged as red if they cannot connect, green if everything is ready and grey/white if they are offline. Any assistance on this is appreciated. Yes the above code works to power the hamachi network on and if I run it again it will power it off.
  17. I've been searching these past few days for anything that would help me automate in the background, I've made a few things work but for a couple decade old programs I can't get the control IDs, which is resulting in difficulties. I've tried using the _MouseClickPlus method which calls the user32 dll sendmessage with the mouse opcodes, this worked like a charm for a new adobe apollo runtime environment I was checking. In that case, it didn't have any control IDs or anything else, and somehow all it needed to work was the title to obtain the winhandle from. However this doesn't work for many windows apps, not sure why. All of the following problems are under windows 7 1) In paint, if I use WinGetHandle("Untitled - Paint")it returns zeroes, anyone have any idea why? I've gotten around this by using the title "[CLASS:MSPaintApp]", however I'm still interested in this response. 2) Next I was looking to make it click somewhere, this: ControlClick("[CLASS:MSPaintApp]", "", "[CLASS:Afx:00000000FF0C0000:8; INSTANCE:1]", "left", 1, 275, 152)worked, although a better solution for me would be supplying only the title / handle and coords from the window start and not from the control start, and having it click on any control. Is there any way to do this? 3) In Paint, if I click / hold for a second the alt key, I can see the keyboard shortcuts, for example, alt + H would trigger the home tab. to what control do I use ControlSend to so that "!hp" would call "Alt h" and then select the pencil with "p", I couldn't make this work when the main whiteboard is the controlID and neither when the top toolbar is the control ID, like so: ControlSend("[CLASS:MSPaintApp]", "", "[CLASS:NetUIHWND; INSTANCE:1]", "!hp")4) Continuing the previous topic, in one of my older programs, alt + F for example doesn't trigger the File at the top, so I would need to send a ControlClick to it, however it doesn't have any control info, you can look at the SciTE editor, going over the file/edit/search.. with the window info tool, there's nothing about the control. How can I send a ControlClick to the Search button in this case? Simply supplying the window is not enough, and I have a feeling ControlClick never works without specifying a control ID. A solution to my second question would be a solution to the fourth as well :/ Any tips will be greatly appreciated, Thanks! g3trans
  18. Hi, i am creating a hotkey script for my work. Now i am hitting a wall, i have to be able to send a line of text using a combination of keys. The problem i have is not in the combination but in the line of text i am trying to send. What i am trying to send contains the symbol: ! Everytime i use my script it does send my line of text until it needs to send the ! First i tried: ControlSend("", "", "", "svm{$}8{4}{!}", 0) ControlSend("", "", "", "{enter}") Right now i changed the code to read the line of text from a ini file but still the problem. Maybe someone has any ideas?
  19. Hey im looking to rebind my wasd keys to arrow keys in order to play a game using my phone and chrom remote access. I tried using controlsend to send a arrow keys when i push wasd. Problem lies in that it sends both w (for example) and the up arrow key aswell as asd etc. Any ideas how to get around this?
  20. Hi, I am trying to programatically use Autoit to migrate uTorrent files. I need to send the key Ctrl + D to uTorrent, and then fill in a dialogue box on the torrent location and the file location. However, I am stuck after opening uTorrent and trying to send the Ctrl D Command. This may not be the best but. Run("C:\Users\User\AppData\Roaming\uTorrent\uTorrent.exe") WinWaitActive("µTorrent 3.4.3 (build 40298) [32-bit]") ControlSend("µTorrent 3.4.3 (build 40298) [32-bit]", "", "", Send("^d")) That's the current code. I've tested this back with notepad to see if the code is working fine and it is, which make me struggle to understand why it wouldn't work for uTorrent. Could anybody help out please?
  21. Hi, im able to send or click on a vmware virtual machine, example: WinActivate("[TITLE:M1 - VMware Workstation]", "") MouseClick("Right",233, 979) Sleep(100) Send("x") But when it comes to controlclick, or controlsend nothing happens: Autoit window info: >>>> Window <<<< Title: M1 - VMware Workstation Class: VMUIFrame Position: -8, -8 Size: 1936, 1056 Style: 0x17CF0000 ExStyle: 0x00000100 Handle: 0x00000000000306D0 >>>> Control <<<< Class: MKSEmbedded Instance: 4 ClassnameNN: MKSEmbedded3 Name: Advanced (Class): [CLASS:MKSEmbedded; INSTANCE:4] ID: Text: MKSWindow#0 Position: 202, 94 Size: 1699, 884 ControlClick Coords: 456, 374 Style: 0x50000000 ExStyle: 0x00000000 Handle: 0x00000000000E0AC0 Tested controlclick and controlsend code: WinActivate("[TITLE:M1 - VMware Workstation]", "") $tempo = ControlSend("M1 - VMware Workstation", "","","ic") $tempo = ControlClick("M1 - VMware Workstation", "","","left",1,456, 374) $tempo = ControlSend("[CLASS:MKSEmbedded; INSTANCE:4]", "MKSWindow#0","","x") $tempo = ControlSend("[CLASS:VMUIFrame]", "","","x") Thank you. EDIT: Tested sending something to VMWare and it worked, but when it comes to the actual virtual machine it keeps doing nothing. Tested code to send alt+h to vmware, not working when i try it with the virtual machine. $tempo = ControlSend("M1 - VMware Workstation", "","","!H") Ok, all control send are giving me a 0 as output wich means "Returns 0 if window/control is not found.", except the one thats being sent to VMWare software, wich gives me a 1, anyone able to help? :S
  22. Hi there, the title says it all. My problem here is: im starting the autoit compiled .exes from a cmd window. So im also passing needed parameters there. These parameters are in this case paths to files, and sometimes some slashes within these paths got switched with the german "ß" character which lies on the same key as the backslash. After checking the cmd window the .exe call with the parameter includes the correct path. For some odd reason its only happening sometimes and also only in the license_A_Prof_Sec function. So any hints what could cause this problem? Here is my code: #RequireAdmin run("C:\Program Files (x86)\Avira\AntiVir Desktop\avcenter.exe") sleep(2000) $aWins=WinList("Avira") For $i = 1 To $aWins[0][0] Switch $aWins[$i][0] case "Avira Professional Security" license_A_Prof_Sec($aWins[$i][1]) Case "Avira Free Antivirus" license_A_Free_AV($aWins[$i][1]) EndSwitch Next func license_A_Free_AV($handle) WinActivate($handle) sleep(3000) Send("!H") Send("m") $whnd=winwait("Avira Free Antivirus","Lizenz",60) ControlClick($whnd,"","[CLASS:Static; INSTANCE:4]") $whnd=winwait("Öffnen") ControlSend($whnd,"","[CLASS:Edit; INSTANCE:1]",$CMDLine[1]) ControlClick($whnd,"","[CLASS:Button; INSTANCE:1]") $whnd=WinWait("Avira Free Antivirus","Lizenz ist bereits vorhanden",60) ControlClick($whnd,"","[CLASS:Button; INSTANCE:1]") $whnd=WinWait("Avira Free Antivirus","Die Lizenzdatei wurde aktualisiert",60) ControlClick($whnd,"","[CLASS:Button; INSTANCE:1]") $whnd=WinWait("Avira Free Antivirus","Lizenzinformationen",60) sleep(500) ControlClick($whnd,"","[CLASS:Button; INSTANCE:8]") winclose("Avira Free Antivirus") EndFunc func license_A_Prof_Sec($handle) WinActivate($handle) sleep(3000) Send("!H") Send("l") $whnd=winwait("Öffnen","",60) ControlSend($whnd,"","[CLASS:Edit; INSTANCE:1]",$CMDLine[1]) ControlClick($whnd,"","[CLASS:Button; INSTANCE:1]") $whnd=WinWait("Avira Professional Security","Die Lizenzdatei wurde aktualisiert",60) ControlClick($whnd,"","[CLASS:Button; INSTANCE:1]") winclose("Avira Professional Security") EndFunc
  23. I've got a third-party video recording app idling away in the system tray (as it should be), just waiting for a command sequence (e.g., "CTRL+ALT+R") to begin recording. When I'm recording manually, I simply press the command sequence on the keyboard to get it going, without having to manually activate/raise the idling process/window. I'm writing a script to send that sequence programmatically, but I can't figure out where and how to send it! I know I should use ControlSend(), and I can specify the third-party app's title as the first parameter, but I'm utterly baffled about what ControlID I need to use. For a normal app, I would use Au3Info.exe to identify the control, but since the app is idling in the system tray, I can't figure out any way to use Au3Info on it. So, how do I determine what ControlID to use in the ControlSend() call? Thanks! [ETA: Or perhaps I should do it some other way, one that doesn't need a controlID?] (By the way, I found some code generously provided by poster war59312 (here), that will return the index number of the sys tray app I'm interested in, but I can't see how that would help me. I suppose that since pressing the sequence is all I need to do when doing this manually, maybe I could send it to Explorer, but I still don't know what ControlID to use.)
  24. Hello everyone, Someone once posted asking for help on how to Play/Pause VLC media player using hotkeyset, I made a quick script for it and it works like charm, unless a certain application window is having focus. As many of you may have already guessed, the application window is indeed a game client, however I'm not looking into animating the game or ultering it in any way, I simply want to be able to Pause/Play my songs while playing because I normally have voice chat active and sometimes friends talking, so having a quick way to pause the game instead of Alt+Tab is way more convenient. I do not want anyone to write the script for me, I do not want anyone posting script snippits that might be used to interact with games, I simply want to know if it's possible to work around the ControlSend block, if there is I will figure it out by myself, I already tried few methods and they all failed, I don't wanna keep trying if it's impossible to do, a simple yes or no will do, thank you in advance. Muhammad
  25. I´ve got an already usably working script for entering a reservation in to a Java App, but to give it more than very basic functionality and stability I´m stuck. Is there any way beyond MouseGetCursor and WinActivate, and other than lot´s of Sleep, that I can make this more stable? sometimes there is a popup in the app, which of course the script doesn´t see, and sometimes the script "trips" and enters the wrong data in the wrong field, and that of course causes lots of errors and popups... yes, there´s a "Java UDF" Topic in the example scripts section, but that didn´t work for me, and the development on that seems to have stopped years ago... (unless I´m overlooking another thread somewhere?) A newer thread about, as far as I understand it, automating hard-to-automate controls might be a direction: ?do=embed' frameborder='0' data-embedContent>... Here´s a cut-out of what I´ve built so far: Global $sWinTitle = "OPERA PMS [Version" Global $wHandle = WinGetHandle($sWinTitle) Global $cHandle = ControlGetHandle($wHandle, "", "") #region Parser ;that´s a separate story #endregion #region Entry _BlockWindow() OperaSend("!.") OperaSend($aRES[$ixGuestSurName],2) OperaSend("{TAB}") OperaSend($aRES[$ixGuestFirstName],2) OperaSend("{TAB}") OperaSend("i{ENTER}") OperaSend("!n") ;etc... _unBlock() #endregion Func OperaSend($sSend, $flag = 0) While Not WinActive($wHandle);force the window to be active WinActivate($wHandle) WEnd If $flag = 2 Then ;$flag = 2 send longer strings of text with clipput+paste Do ClipPut("") ClipPut($sSend) Sleep(128) ;seems to be necessary Until @error = 0 Do $x = ControlSend($wHandle, "", $cHandle, "^v");{CTRLDOWN}{CTRLUP} Until $x = 1 Sleep(128) Else ;flag = 1 Sends Raw, $flag = 0 Sends "normal" Do $x = ControlSend($wHandle, "", $cHandle, $sSend, $flag) Until $x = 1 Sleep(64) EndIf Do Sleep(8) Until MouseGetCursor() = 2 ;check for non-arrow mouse cursors (busy, etc.) Sleep(8) EndFunc ;==>OperaSend #include <Misc.au3> ; for MouseTrap Function Func _BlockWindow() $pos = WinGetPos($wHandle) If IsHWnd($wHandle) Then WinActivate($wHandle) WinSetState($wHandle, "", @SW_DISABLE) WinSetTrans($wHandle, "", 255 * 0.92) _MouseTrap($pos[0] + 10, $pos[1] + 32) _BlockKeys(1) ConsoleWrite("Blocked" & @CR) $blocked = 1 EndIf EndFunc ;==>_BlockWindow Func _unBlock() If IsHWnd($wHandle) Then _BlockKeys() _MouseTrap() WinSetTrans($wHandle, "", 255) WinSetState($wHandle, "", @SW_ENABLE) ConsoleWrite("Unblocked" & @CR) $blocked = 0 EndIf EndFunc ;==>_unBlock Func _BlockKeys($flag = 0);instead of _BlockInput(), because no Admin privileges If $flag = 1 Then HotKeySet("{TAB}", "_BlockKeysDummy") HotKeySet("^{TAB}", "_BlockKeysDummy") HotKeySet("!{TAB}", "_BlockKeysDummy");doesn´t really work HotKeySet("+{TAB}", "_BlockKeysDummy") HotKeySet("#{TAB}", "_BlockKeysDummy") HotKeySet("{ENTER}", "_BlockKeysDummy") ;...etc. Else HotKeySet("{TAB}") HotKeySet("^{TAB}") HotKeySet("!{TAB}");doesn´t really work HotKeySet("+{TAB}") HotKeySet("#{TAB}") HotKeySet("{ENTER}") ;...etc. EndIf EndFunc ;==>_BlockKeys