Taskms4 Posted August 29, 2019 Share Posted August 29, 2019 (edited) Greetings, I was just wondering if there is a way to force a GUI appear under everything else (what I want would be the opposite of "$WS_EX_TOPMOST"). In fact, I want to create a $WS_EX_TOOLWINDOW GUI that would stay stuck to the Desktop under everything. Thanks in advance for any kind of help/hint. --Taskms4 Edited August 30, 2019 by Taskms4 Link to comment Share on other sites More sharing options...
seadoggie01 Posted August 29, 2019 Share Posted August 29, 2019 I'm not familiar enough with C#, but I think this could be done with a Dll call... take a look at this StackOverflow answer to get started maybe? https://stackoverflow.com/questions/527950/how-to-make-always-on-bottom-window All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Taskms4 Posted August 29, 2019 Author Share Posted August 29, 2019 @seadoggie01 Not familiar with C# either, but I'll take a look, thanks Link to comment Share on other sites More sharing options...
nend Posted August 29, 2019 Share Posted August 29, 2019 I use this befor, it's not perfect but I never find anything better. _WinAPI_SetWindowPos($Gui, $HWND_BOTTOM, Default, Default, Default, Default, $SWP_NOMOVE) Link to comment Share on other sites More sharing options...
Taskms4 Posted August 30, 2019 Author Share Posted August 30, 2019 13 hours ago, nend said: I use this befor, it's not perfect but I never find anything better. _WinAPI_SetWindowPos($Gui, $HWND_BOTTOM, Default, Default, Default, Default, $SWP_NOMOVE) Thanks for your reply @nend but when I use this, my GUI does not show up.. Tried some other flags inside the function but I still have the same result.. (Maybe this doesn't work on Win10) Link to comment Share on other sites More sharing options...
Nine Posted August 30, 2019 Share Posted August 30, 2019 Tested on win7 and win10 and it is working fine with this : _WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 0, 0, 0, 0, BitOR($SWP_FRAMECHANGED, $SWP_NOMOVE, $SWP_NOSIZE)) Taskms4 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Taskms4 Posted August 30, 2019 Author Share Posted August 30, 2019 2 minutes ago, Nine said: Tested on win7 and win10 and it is working fine with this : _WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 0, 0, 0, 0, BitOR($SWP_FRAMECHANGED, $SWP_NOMOVE, $SWP_NOSIZE)) Thanks @Nine ! Link to comment Share on other sites More sharing options...
seadoggie01 Posted August 30, 2019 Share Posted August 30, 2019 12 minutes ago, Nine said: Tested on win7 and win10 and it is working fine with this : _WinAPI_SetWindowPos($hWnd, $HWND_BOTTOM, 0, 0, 0, 0, BitOR($SWP_FRAMECHANGED, $SWP_NOMOVE, $SWP_NOSIZE)) Where do you put this code? It doesn't work for me, but I run it once after creating the GUI. Do you repeat the code on some event? All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Nine Posted August 30, 2019 Share Posted August 30, 2019 After GUISetState() “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
seadoggie01 Posted August 30, 2019 Share Posted August 30, 2019 Weird. And it stays under other windows? When I click on the taskbar, it gets activated. I thought that it was supposed to stay under other windows even when activated or something. I must've misunderstood the question All my code provided is Public Domain... but it may not work. Use it, change it, break it, whatever you want. Spoiler My Humble Contributions:Personal Function Documentation - A personal HelpFile for your functionsAcro.au3 UDF - Automating Acrobat ProToDo Finder - Find #ToDo: lines in your scriptsUI-SimpleWrappers UDF - Use UI Automation more Simply-erKeePass UDF - Automate KeePass, a password managerInputBoxes - Simple Input boxes for various variable types Link to comment Share on other sites More sharing options...
Nine Posted August 30, 2019 Share Posted August 30, 2019 It is the last "active" window. Even if it is at the bottom of all other windows. “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Taskms4 Posted August 30, 2019 Author Share Posted August 30, 2019 Thank you, the solution proposed by @Nine worked for me. I just placed it after my GUISetState() statement and it's doing exactly what I needed. EDIT: I marked this topic as solved ! Link to comment Share on other sites More sharing options...
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