Jump to content

Ideal... HotKeySet With _IsPressed!


z0mgItsJohn
 Share

Recommended Posts

Well.. When You Use HotKeySet And For Say You Set A To A Function And Then Open Notepad And Type A A Will Not Appear In Notepad.. Well.. If Your Using _IsPressed And Press A In Notepad.. The Function Is Called And A Will Appear In Notepad.. So..

Heres What I Got So Far.

_HotKeySet.au3

#Include <Misc.au3>

Func _HotKeySet ($HexKey, $Function)
While 1
If _IsPressed ($HexKey) Then 
Call ($Function)
ExitLoop
EndIf
WEnd
EndFunc

Please Tell Me What You Think And Any Ideals Are Questions You Might Have :)

Edited by John2006

Latest Projects :- New & Improved TCP Chat

Link to comment
Share on other sites

I do not want to disappoint you or anything, but you can set hotkey and still send the character...

HotKeySet("{ESC}", "Quit") ;So we be able to exit from the loop
HotKeySet("a", "a_Func")


While 1
    Sleep(100)
WEnd

Func a_Func()
    HotKeySet(@HotKeyPressed)
    Send(@HotKeyPressed)
    HotKeySet(@HotKeyPressed, "a_Func")
    
    ;Do here whatever you need ;)
    ConsoleWrite("Just a notification from a_Func() ;)" & @LF)
EndFunc

Func Quit()
    Exit
EndFunc

:)

P.S

Don't you tired from typing every word with first char in Upper Case? :) - I guess that your Shift key is never "rest" :)

ย 

Spoiler

Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1

AutoIt_Rus_Community.pngย AutoIt Russian Community

My Work...

Spoiler

AutoIt_Icon_small.pngProjects:ย ATT - Application Translate Toolย {new}|ย BlockIt - Block files & foldersย {new}|ย SIP - Selected Image Previewย {new}|ย SISCABMAN - SciTE Abbreviations Managerย {new}|ย AutoIt Path Switcherย |ย AutoIt Menu for Opera!ย |ย YouTube Download Center!ย |ย Desktop Icons Restoratorย |ย Math Tasksย |ย KeyBoard & Mouse Cleanerย |ย CaptureIt - Capture Images Utilityย |ย CheckFileSize Program

AutoIt_Icon_small.pngUDFs:ย OnAutoItErrorRegister - Handle AutoIt critical errorsย {new}|ย AutoIt Syntax Highlightย {new}|ย Opera Library!ย |ย Winamp Libraryย |ย GetFolderToMenuย |ย Custom_InputBox()!ย |ย _FileRun UDFย |ย _CheckInput() UDFย |ย _GUIInputSetOnlyNumbers() UDFย |ย _FileGetValidName() UDFย |ย _GUICtrlCreateRadioCBox UDFย |ย _GuiCreateGrid()ย |ย _PathSplitByRegExp()ย |ย _GUICtrlListView_MoveItems - UDFย |ย GUICtrlSetOnHover_UDF!ย |ย _ControlTab UDF!ย |ย _MouseSetOnEvent() UDF!ย |ย _ProcessListEx - UDFย |ย GUICtrl_SetResizing - UDF!ย |ย Mod. for _IniString UDFsย |ย _StringStripChars UDFย |ย _ColorIsDarkShade UDFย |ย _ColorConvertValue UDFย |ย _GUICtrlTab_CoverBackgroundย |ย CUI_App_UDFย |ย _IncludeScripts UDFย |ย _AutoIt3ExecuteCodeย |ย _DragList UDFย |ย Mod. for _ListView_Progressย |ย _ListView_SysLinkย |ย _GenerateRandomNumbersย |ย _BlockInputExย |ย _IsPressedExย |ย OnAutoItExit Handlerย |ย _GUICtrlCreateTFLabel UDFย |ย WinControlSetEvent UDFย |ย Mod. for _DirGetSizeEx UDF
ย 
AutoIt_Icon_small.pngExamples:ย 
ScreenSaver Demo - Matrix includedย |ย Gui Drag Without pause the scriptย |ย _WinAttach()!ย |ย Turn Off/On Monitorย |ย ComboBox Handler Exampleย |ย Mod. for "Thinking Box"ย |ย Cool "About" Boxย |ย TasksBar Imitation Demo

Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating AutoIt_Rating.gif)

* === My topics === *

==================================================
My_Userbar.gif
==================================================

ย 

ย 

ย 

AutoIt is simple, subtle, elegant. ยฉ AutoIt Team

Link to comment
Share on other sites

Well.. When You Use HotKeySet And For Say You Set A To A Function And Then Open Notepad And Type A A Will Not Appear In Notepad.. Well.. If Your Using _IsPressed And Press A In Notepad.. The Function Is Called And A Will Appear In Notepad.. So..

Heres What I Got So Far.

_HotKeySet.au3

#Include <Misc.au3>

Func _HotKeySet ($HexKey, $Function)
While 1
If _IsPressed ($HexKey) Then 
Call ($Function)
ExitLoop
EndIf
WEnd
EndFunc

Please Tell Me What You Think And Any Ideals Are Questions You Might Have :)

Also that will probably call the function about half a billion times... If I remember from my use of _IsPressed...
My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list]
Link to comment
Share on other sites

No.. The Exit Loop Fixs The _IsPressed Bug :)

Try It Your Self!

Well, your example works. But you main loop is completely consumed by the _Hotkeyset() function. If you have a loop that is supposed to do other things it won't work very well. Also, your example can only go once and then exit. So you basically set a hotkey, get stuck in an loop until you press the hotkey, and then when you press the hotkey you can continue using your program.
My Programs[list][*]Knight Media Player[*]Multiple Desktops[*]Daily Comics[*]Journal[/list]
Link to comment
Share on other sites

You can't combime more key (Alt+Shift+Ctrl+A).

You must insert 4 _IsPressed, "if _IsPressed($hexkey) And _IsPressed($hexkey2) And _IsPressed($hexkey3) And _IsPressed($hexkey4) THen".

A lan chat (Multilanguage)LanMuleFile transferTank gameTank 2 an online game[center]L'esperienza รจ il nome che tutti danno ai propri errori.Experience is the name everyone gives to their mistakes.Oscar Wilde[/center]
Link to comment
Share on other sites

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
 Share

  • Recently Browsing   0 members

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