Jump to content
Sign in to follow this  
Taskms4

[Solved] Force a GUI to appear behind everything else (the opposite of "$WS_EX_TOPMOST")

Recommended Posts

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 by Taskms4

Share this post


Link to post
Share on other sites

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites

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))

 

Share this post


Link to post
Share on other sites
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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts

Share this post


Link to post
Share on other sites

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 functions
Acro.au3 UDF - Automating Acrobat Pro
ToDo Finder - Find #ToDo: lines in your scripts

Share this post


Link to post
Share on other sites

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 !

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  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...