careca

Hide autoit created popup taskbar button

14 posts in this topic

#1 ·  Posted (edited)

Hi there, this is supposed to work as a toast, called by functions and such. Kinda looks like the windows 10 notification, as intended,

and the only problem is that i can't find a way to hide the taskbar button.

 

Opt("WinSearchChildren", 1)
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
HotKeySet("{ESC}", "Terminate")

Local $hParentWin, $hChildWin, $aMsg

$hParentWin = GUICreate("Parent GUI", 200, 100)
GUISetState(@SW_SHOW)

$hChildWin = GUICreate("Child GUI", 360, 65, @DesktopWidth + 400, @DesktopHeight - 106, $WS_POPUP, $WS_EX_APPWINDOW+$WS_EX_TOPMOST)
GUISetBkColor(0x1F1F1F, $hChildWin)
GUICtrlCreatePic(@ScriptDir&'\Info.bmp', 8, 8, 48, 48)
$Title = GUICtrlCreateLabel('Title', 70, 10, 250, 25)
GUICtrlSetFont($Title, 14, 900, 0, 'Arial', 5)
GUICtrlSetColor($Title, 0xFFFFFF)
GUICtrlSetBkColor($Title, 0x1F1F1F)
$Text = GUICtrlCreateLabel('Text', 70, 35, 250, 25)
GUICtrlSetFont($Text, 10, 600, 0, 'Arial', 5)
GUICtrlSetColor($Text, 0x707070)
GUICtrlSetBkColor($Text, 0x1F1F1F)
GUISetState(@SW_SHOW)

Show()

Func Show()
    WinMove($hChildWin, '', @DesktopWidth - 360, @DesktopHeight - 106, 360, 65, 1)
    ConsoleWrite('Show - ' & @MSEC & @CRLF)
EndFunc   ;==>Show

Func Hide()
    WinMove($hChildWin, '', @DesktopWidth + 400, @DesktopHeight - 106, 360, 65, 1)
    ConsoleWrite('Hide - ' & @MSEC & @CRLF)
EndFunc   ;==>Hide

While 1
    Sleep(300)
WEnd

Func Terminate()
    Exit
EndFunc   ;==>Terminate

 

Info.bmp

Edited by careca

Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

Share this post


Link to post
Share on other sites



If you create a fake GUI and never set it to @SW_SHOW and set your real GUI to the child of the fake, the task bar button will never show up.

#include <GUIConstants.au3>

Global $frmFakeGUI = GUICreate("Fake GUI", 0, 0)
Global $frmRealGUI = GUICreate("Real GUI", 200, 100, -1, -1, -1, -1, $frmFakeGUI)
Global $lblMsg = GUICtrlCreateLabel("This is a GUI without a task bar icon", 10, 10, 180, 40)

GUICtrlSetFont($lblMsg, 12)

GUISetState(@SW_SHOW, $frmRealGUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit 0
    EndSwitch
WEnd

 

2 people like this

Share this post


Link to post
Share on other sites

Awesome! Exactly what i was looking for! Although i think it would be nice to just have a flag to make it so, without playing those tricks, also i didn't see it in help file.

Best regards.


Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

Share this post


Link to post
Share on other sites

Instead of creating a hidden GUI you can always use the AutoIt hidden GUI that is created everytime you run a script. You can get an idea of how to interact with it by checking the help file for AutoItWinGetTitle.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Thanks BrewManNH, but whatever i do with AutoItWinGetTitle, the taskbar button appears as soon as i need to see the hidden window and call @SW_SHOW,

Maybe i just didn't understand where you're pointing?


Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

Share this post


Link to post
Share on other sites

Take InunoTaishou's script, and instead of creating a new hidden GUI as his script does, you can use the one that AutoIt creates every time you run your script. Saves you from having to create unnecessary GUIs.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

Use WinGetHandle(AutoItWinGetTitle()) to get a handle to the AutoIt Window and use that handle instead of $frmFakeGUI

Share this post


Link to post
Share on other sites

BTW InunoTaishou, that's a pretty slick way of doing that. I normally ended up using a popup style window or something similar.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

I incorporated the method in another script, where i do need both gui's. :)


Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

Share this post


Link to post
Share on other sites

Glad we were able to help!

1 person likes this

Share this post


Link to post
Share on other sites

To create something like an info window you only need the Windows ExStyle WS_EX_TOOLWINDOW.

You can combine the style WS_POPUP and WS_BORDER or just use WS_CAPTION as style.

#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>

Dim $hGUI = GUICreate("MyGUI", 200, 80, -1, -1, BitOr($WS_BORDER, $WS_POPUP), $WS_EX_TOOLWINDOW)

GUISetState()

While 1
    $Msg = GUIGetMsg()
    If $Msg = $GUI_EVENT_CLOSE Then ExitLoop
WEnd

GUIDelete()

Exit

 

Share this post


Link to post
Share on other sites

Nice. Thanks.


Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

Share this post


Link to post
Share on other sites

#13 ·  Posted (edited)

On 6.1.2016 at 11:15 PM, InunoTaishou said:

If you create a fake GUI and never set it to @SW_SHOW and set your real GUI to the child of the fake, the task bar button will never show up.

#include <GUIConstants.au3>

Global $frmFakeGUI = GUICreate("Fake GUI", 0, 0)
Global $frmRealGUI = GUICreate("Real GUI", 200, 100, -1, -1, -1, -1, $frmFakeGUI)
Global $lblMsg = GUICtrlCreateLabel("This is a GUI without a task bar icon", 10, 10, 180, 40)

GUICtrlSetFont($lblMsg, 12)

GUISetState(@SW_SHOW, $frmRealGUI)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit 0
    EndSwitch
WEnd

 

Wonderful. Exactly what I needed.  With

Global $frmRealGUI = GUICreate("Real GUI", 200, 100, -1, -1, $WS_SYSMENU, -1, $frmFakeGUI)

you'll get a GUI with only a close button (like a dialog box).

Edited by Tiotua
My text was inside quote ._.

Share this post


Link to post
Share on other sites

9 months, just like a baby huh?

 


Spoiler

Paster - Main function is to paste text, but has more functions.

OpenW - Open With... alternative, Open any file with any application, set it's icon, set application as default.

Renamer - Rename files and folders, remove portions of text from the filename etc.

BeatsPlayer - Music player.

Params Tool - Right click an exe to see it's parameters or execute them.

Regedit Control - Registry browsing history, quickly jump into any saved key.

Time4Shutdown - Write the time for shutdown in minutes.

Power Profiles Tool - Set a profile as active, delete, duplicate, export and import.

Firefox Profile Backup - Backup/restore previously saved profile.

Finished Task Shutdown - Shuts down pc when specified window/Wndl/process closes.

NetworkSpeedShutdown - Shuts down pc if download speed goes under "X" Kb/s.

 

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

  • Similar Content

    • BBs19
      By BBs19
      Features:
      Create modern looking borderless and resizable GUIs with control buttons (Close,Maximize/Restore,Minimize, Fullscreen, Menu) True borderless, resizeable GUI with full support for aerosnap etc. Many color schemes/themes included. See MetroThemes.au3 for more details. 3 type of Windows 8/10 style buttons. Modern checkboxes, radios, toggles and progressbar. All buttons, checkboxes etc. have hover effects! Windows 10 style modern MsgBox. Windows 10/Android style menu that slides in from left. Windows 10 style right click menu  
      Credits: @UEZ, for the function to create buttons with text using GDIPlus. @binhnx for his SSCtrlHover UDF
       
      Changelog:
      Download UDF with example:
       
       
    • keelaji
      By keelaji
      Hello,
      first of all i searched in the forum but i didn't found any solution to my problem.
      I am using windows 10.
      I made a script that is supposed to change the title to the active window, resize it to the smallest size possible (should be around 800 x 600) and move to (0, 0).
      I can change the title but i fail to do the other 2 tasks.
      i use wingettitle [active] copied from the F1 help tool (and this works), i i put the title in a variable and than i use
      winsettitle ($variable, "one") (this works too)
      winmove ("one", 0, 0, 800, 600) (doesn't do anything)
      i also tried
      local $x = winget ( "one")
      msgbox (0, "", $x) (i get a completely white box so i suppose winget can't have any data about my window ??)
      any suggestion ?
    • spuuunit
      By spuuunit
      I have a script that autostart with Windows, and sometimes some of my code is skipped. My script takes long pauses, so it's not that the script "goes too fast". This is my script for now:
      TraySetIcon("C:\Portables\AutoIt\_\icon.ico") AutoItSetOption("WinTitleMatchMode", 2) Run("C:\Portables\Key Manager\keymanager.exe") WinActivate("ATNSOFT Key Manager v") WinWaitActive("ATNSOFT Key Manager v") WinMove("ATNSOFT Key Manager v", "", 650, 200, 600, 800) Sleep(500) $pos = MouseGetPos() MouseClick("left", 1220, 210, 1, 100) MouseMove($pos[0], $pos[1], 100) Run("C:\Portables\foobar2000\foobar2000.exe") $version = 298 For $i = 0 To 99 Step 1 $path = "C:\Users\spunit\AppData\Local\Discord\app-0.0." & $version + $i & "\Discord.exe" If FileExists($path) Then Run($path) ExitLoop EndIf Next Run("C:\Portables\Firefox\FirefoxPortable.exe") Sleep(10000) WinMove("- Mozilla Firefox", "", 205, 0, 1214, 1047) Sleep(100) MouseClick("left", 1300, 15, 1, 10) Sleep(100) MouseClick("left", 1130, 275, 1, 10) Sleep(100) MouseClick("left", 930, 105, 1, 10) Sleep(100) Send("#{m}") Sometimes it skips to click and move mouse right after Key Manager starts. Almost always it skips everything after the last run.

      This type of script were never an issue with Windows 7... Any thoughts?
    • VIP
      By VIP
      I can not do anything with any user in the "Local Users Group"
      I tried from my account but I could not change my password (ie set new password)!
      But I was able to activate the Administrator account and I logged into the Administrator account and still could not do anything with my account! But I can set the password and disable the Administrator account from my account or Administrator.
      Any ideas? (Ignore the click on the Sign-in option in the Change Accout settings.)
       

    • dreivilo47
      By dreivilo47
      When I want to test Example 1 of Function _IECreate (AutoIt Help File), I see that function _IECreate doesn't work in Windows 10.
      Syntax Check (Ctrl+F5) gives no errors.
       
      Example 1:
      ; Create a browser window and navigate to a website #include <IE.au3> Local $oIE = _IECreate("www.autoitscript.com")  
      The error I receive with F5 (Tools, Go) in SciTE: