Jump to content

argumentum

MVPs
  • Posts

    4,817
  • Joined

  • Last visited

  • Days Won

    149

argumentum last won the day on July 16

argumentum had the most liked content!

About argumentum

Profile Information

  • Member Title
    ✨Universalist ✨
  • Location
    I'm in your browser now =)
  • WWW
    https://www.youtube.com/watch?v=SjwX-zMRxO0&t=5s
  • Interests
    Relax

Recent Profile Visitors

12,926 profile views

argumentum's Achievements

  1. For the next version ( now in public beta ) you'll need to change this: ; #CONSTANTS# =================================================================================================================== If Not IsDeclared("DWMWA_USE_IMMERSIVE_DARK_MODE") Then Global Const $DWMWA_USE_IMMERSIVE_DARK_MODE = (@OSBuild <= 18985) ? 19 : 20 ; before this build set to 19, otherwise set to 20, no thanks Windaube to document anything ?? ; ===============================================================================================================================
  2. Oh, is not "mine", is basically @Nine's. It works most everywhere, almost !. But I only have so much time and know how. But the more people get involved, the better for this script. Thanks for the tweak
  3. #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #AutoIt3Wrapper_UseX64=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #include <WinAPI.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Array.au3> #include <WinAPISysWin.au3> Opt("MustDeclareVars", True) HotKeySet("{ESC}", Terminate) ;;; https://www.autoitscript.com/forum/topic/212981-move-window-behind-desktop-icons/page/2/#findComment-1544435 Example() Func Example() Local $hWorkerW = 0, $hProgman = _WinAPI_GetShellWindow() ; WinGetHandle("[CLASS:Progman]") ;~ _SendMessage($hProgman, 0x052C) ; <<<<<< force the creation of a WorkerW handle under Progman ; https://stackoverflow.com/questions/56132584/draw-on-windows-10-wallpaper-in-c ; https://stackoverflow.com/questions/34952967/drawing-to-the-desktop-via-injection ; https://github.com/rocksdanister/lively/issues/2074 _WinAPI_SendMessageTimeout($hProgman, 0x052C, 0, 0, 3000, $SMTO_NORMAL) ; same as _SendMessage() If Not $hWorkerW Then ; dah Local $aEnumWindows = _WinAPI_EnumWindows(False) For $n = 1 To UBound($aEnumWindows) - 1 If $aEnumWindows[$n][1] <> "WorkerW" Then ContinueLoop If _WinAPI_GetParent($aEnumWindows[$n][0]) = $hProgman Then $hWorkerW = $aEnumWindows[$n][0] ExitLoop ; but is likely one at the end of the Z-order EndIf Next EndIf ConsoleWrite("WorkerW = " & $hWorkerW & @CRLF) If Not $hWorkerW Then $hWorkerW = $hProgman Local $hGUI = GUICreate("Overlay", 400, 300, 10, 10) ; , $WS_POPUP, $WS_EX_TOOLWINDOW) GUICtrlCreatePic(StringLeft(@AutoItExe, StringInStr(@AutoItExe, "\", 0, -1)) & "Examples\GUI\msoobe.jpg", 0, 0, 400, 300) _WinAPI_SetParent($hGUI, $hWorkerW) _WinAPI_SetWindowLong($hGUI, $GWL_EXSTYLE, BitOR(_WinAPI_GetWindowLong($hGUI, $GWL_EXSTYLE), $WS_EX_LAYERED)) _WinAPI_SetLayeredWindowAttributes($hGUI, 0, 180) GUISetState(@SW_SHOWNOACTIVATE) While GUIGetMsg() <> $GUI_EVENT_CLOSE WEnd EndFunc ;==>Example Func Terminate() Exit EndFunc ;==>Terminate My take on the problem is creating "WorkerW". Finding it with _WinAPI_EnumWindows() works best. Reading this github.com/rocksdanister/lively/issues/2074 ( and the projects ) look interesting.
  4. ..am running 10 PCs, mostly in RDP, and in some it works but in some it doesn't. Any idea of what pre-requisite is needed ? 🤷‍♂️ Edit: ... If Not $hWorkerW Then Local $aChildWindows = _WinAPI_EnumChildWindows($hProgman) ;_ArrayDisplay($aChildWindows, '_WinAPI_EnumChildWindows') For $n = 1 To UBound($aChildWindows) -1 If $aChildWindows[$n][1] = "WorkerW" Then $hWorkerW = $aChildWindows[$n][0] Next EndIf ... This way works. When WinList() didn't find it, _WinAPI_EnumChildWindows() did. Edit #2 ... If Not $hWorkerW Then ConsoleWrite(@CRLF) Local $aEnumWindows = _WinAPI_EnumWindows(False) For $n = 1 To UBound($aEnumWindows) -1 If $aEnumWindows[$n][1] <> "WorkerW" Then ContinueLoop ConsoleWrite('>' & _WinAPI_GetClassName(_WinAPI_GetParent($aEnumWindows[$n][0])) & '<' & @CRLF) ; >Progman< If _WinAPI_GetParent($aEnumWindows[$n][0]) = $hProgman Then $hWorkerW = $aEnumWindows[$n][0] ConsoleWrite('- ' & $aEnumWindows[$n][0] & @TAB & '>' & $aEnumWindows[$n][1] & '<' & @CRLF) EndIf Next ConsoleWrite(@CRLF) EndIf ... This seems to work better than any other 🤷‍♂️
  5. and Win11 24H2.
  6. I saw 1 under explorer.exe an was hidden. Didn't try elsewhere because am busy and the problem is in Win11 24H2 anyway.
  7. maybe my version of Spy++ is too old but there is no show of WorkerW in there. Found me a newer version ( github.com/westoncampbell/SpyPlusPlus ) but the same. Win11 24H2
  8. I've looked at incorporating stuff into the script to not have to include more #includes but is a rabbit's hole and each #include, have their #includes... . I'll look at it deeper when I get more time to fiddle with them. Do remove the other post with attachments as they are not needed ( not the post but the attachments )
  9. @Parsix, what @Nine said is what programs that show PC info do. What do you wanna do ?. The more explicit the better ( interact with it ?, just show info ? ).
  10. ...back in the day, when I was young, ... I remember been able to make my GUI a child GUI of the desktop. Like embedding it into the desktop. It was interesting. But, bye-bye win32, hello ...something else. Hence the "why, oh why" of the OP.🤷‍♂️
  11. ok, let's try nonsense then 😅 Copy or move your installation from "C:\Program Files (x86)\AutoIt3" to "C:\thisIsNotProtectedFolder\AutoIt3" Am on Win11 pro. Actually a bunch of them. And it works fine but, I never install in the default folder. So, try that ?. It makes no sense but if is not disabled, then maybe a protection/rights thing ?. Change the owner of the files ?. Am just as perplexed for what is happening in your PC.
  12. @Tippex, I made a bug in my most masterful creation Please look at the "✨new and improved✨" code, and patch with that 😅 Edit: the GUICtrlCreateLabel("@ArrayDisplayInternals@GUIidentifier@", 0, -10, 0, 0) is to aid some people that keep a bunch of these open and need to close them in bulk. That's the reason for the hidden label.
  13. Am using "How to pin a script to the taskbar or start menu". It works well when the link is at "shell:startup". Try it and let me know.
  14. ...if you read some comments in the scripts you'll see some "; #DUPLICATED Functions to avoid big #include ..." because the idea is to make it light ( as in how heavy is to load HTML concept ). And that's the reason that I can not push for these in the standard distribution. I did add the WinSetOnTop($hGUI, "", 1) WinSetOnTop($hGUI, "", 0) because is light and does serve a needed "fix" for it not opening in the foreground at times. For the rest of the goodies, if anyone cares, the "deluxe models" are here Thanks for the updates @Tippex
×
×
  • Create New...