StefanM Posted August 27, 2018 Posted August 27, 2018 I have a very easy script, but a bigger problem with it. I try to detect the state of NumLock HotKeySet("{NUMLOCK}", "_NUMLOCKPRESS") Global Const $VK_NUMLOCK = 0x90 Func _LockKeyGetState() Local $ret $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK) Return $ret EndFunc Global Const $VK_NUMLOCK = 0x90 Func _LockKeyGetState() Local $ret $ret = DllCall("user32.dll","long","GetKeyState","long",$VK_NUMLOCK) Return $ret[0] EndFunc The function returns 1 or 0. Working fine. The script is in a while loop, all 20 secs it checks the state of it.... working fine. While 1 Local $test $test = _LockKeyGetState() ConsoleWrite("State: " & $test & @CRLF) Sleep(20000) WEnd But.... As soon as I pause the script and resume, the result is always 0. Returns never the correct state. As my computer goes to hibernate/Sleep from time to time, the same thing happen. It returns always 0 except I restart the program. How can I fix that issue?
caramen Posted August 27, 2018 Posted August 27, 2018 (edited) Well i dont know why it is not working after a sleep or pause. But there is some problem with key detection until you dont press them in some case. I guess you could Use a key press detection then sleep 20 sec and press numlock after, that would make your script more stable i guess. Something like that : #include <Misc.au3> If _IsPressed ("90") Then ;Numlock pressed Sleep (20000) ;Then sleep Send ("{NUMLOCK on}");Then send numlock again EndIf Also it whould dodge the fact that it unactive numlock if you still need it. Edited August 27, 2018 by caramen My video tutorials : ( In construction ) || My Discord : https://discord.gg/S9AnwHw How to Ask Help || UIAutomation From Junkew || WebDriver From Danp2 || And Water's UDFs in the Quote Spoiler Water's UDFs:Active Directory (NEW 2018-10-19 - Version 1.4.10.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsPowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & SupportExcel - Example Scripts - WikiWord - Wiki Tutorials:ADO - Wiki
Moderators Melba23 Posted August 27, 2018 Moderators Posted August 27, 2018 StefanM, Welcome to the AutoIt forums. Please post your entire script (see here how to do it) otherwise we can do little but guess. M23 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
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