Jump to content

Recommended Posts

Posted

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?

 

Posted (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 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 - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

  • Moderators
Posted

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

 

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...