Sign in to follow this  
Followers 0
spymare

hotkeyset

7 posts in this topic

#1 ·  Posted (edited)

Hi. I want to make a hotkeyset that can hide/show a windows using the same hotkey.

I have quite some problems with it, i can get it to hide, but not to show again, (in this case SHIFT+2)

this is the code im having problems with :

Func hide()

$STATE = WinGetState("notepad", "")

If BitAND($STATE, @sw_show) Then

WinSetState("test", "", @SW_hide)

Else

EndIf

$1 = WinGetState("notepad", "")

If BitAND($1, @sw_hide) then

WinSetState("test", "", @SW_SHOW)

Else

EndIf

EndFunc

HotKeySet("+{2}", "hide")

While 1

sleep(1000)

WEnd

Func hide()

$STATE = WinGetState("notepad", "")

If BitAND($STATE, @sw_show) Then

WinSetState("test", "", @SW_hide)

Else

EndIf

$1 = WinGetState("notepad", "")

If BitAND($1, @sw_hide) then

WinSetState("test", "", @SW_SHOW)

Else

EndIf

EndFunc

Edited by spymare

Share this post


Link to post
Share on other sites



spymare,

@SW_SHOW and @SW_HIDE are macros - you need the state constants as shown on the WinGetState page of the Help file. ;)

Try this:

HotKeySet("+{2}", "hide")
HotKeySet("{ESC}", "On_Exit")

While 1
    Sleep(1000)
WEnd

Func hide()
    If BitAND(WinGetState("Untitled - Notepad"), 2) Then
        WinSetState("test", "", @SW_HIDE)
    Else
        WinSetState("test", "", @SW_SHOW)
    EndIf
EndFunc   ;==>hide

Func On_Exit()
    Exit
EndFunc

I had to change the Notepad GUI title to the correct text on my machine. :idiot:

M23

P.S. Very sensible reaction to what happened to the last thread. :)


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______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

 

Share this post


Link to post
Share on other sites

thanks :)

the multi posts i made in the ealier thread was actually an accident ;), was writing from my ipod touch 4g, witch got slow internet :S so nothing happend, and i clicked post button more times since it didnt act ^^.

Share this post


Link to post
Share on other sites

im not very good at autoit yet but im trying :)

i can't get this to work, i need 8 levels on the same button to change the level of how transparent the window should be:

Func transparent()

If BitAND(WinGetState("notepad", 255) Then

WinSettrans("notepad", "", 200)

Else

WinSettrans("notepad", "", 60)

EndIf

EndFunc

Share this post


Link to post
Share on other sites

#5 ·  Posted (edited)

Firstly check WinGetState() the maximum BitAND() is 63 and not 255! Second use the Search Function! All I did was looked for WinGetTrans() and voila I found this >> by Melba23

transparent()
Func transparent()
    If WinGetTrans("Untitled - Notepad") = 60 Then
        WinSetTrans("Untitled - Notepad", "", 200)
    Else
        WinSetTrans("Untitled - Notepad", "", 60)
    EndIf
EndFunc   ;==>transparent

Func WinGetTrans($sTitle, $sText = "")
    Local $hWnd = WinGetHandle($sTitle, $sText)
    If Not $hWnd Then Return -1
    Local $val = DllStructCreate("int")
    Local $aRet = DllCall("user32.dll", "int", "GetLayeredWindowAttributes", "hwnd", $hWnd, "ulong_ptr", 0, "int_ptr", DllStructGetPtr($val), "ulong_ptr", 0)
    If @error Or Not $aRet[0] Then Return -1
    Return DllStructGetData($val, 1)
EndFunc

Or if you are feeling adventurous look at _WinAPI_GetLayeredWindowAttributes() in the Help File!

Edited by guinness

_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 04/09/2015

Share this post


Link to post
Share on other sites

thanks, but it doesen't seems to work :/

as default the windows is 255 right? so i set:

If WinGetTrans("Untitled - Notepad") = 60 Then to 255 instead of 60, and then it should do the following:

WinSetTrans("Untitled - Notepad", "", 200),

but it does : WinSetTrans("Untitled - Notepad", "", 60) no matter what

Share this post


Link to post
Share on other sites

nvm works perfect, thx :)

Share this post


Link to post
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
Sign in to follow this  
Followers 0