Jump to content

Recommended Posts

Posted

Looks great, works good! But for a screensaver I would need a multiple monitor support to use it.

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Posted
1 hour ago, UEZ said:

Looks nice @therks.

But the clock animation seemed familiar to me. After a quick search I found it.

;)

Ah I knew I had asked for help with it back in the day. I certainly didn't figure out all that extra fancy GDI stuff out myself. 😁

Posted
44 minutes ago, funkey said:

Looks great, works good! But for a screensaver I would need a multiple monitor support to use it.

Ah yes, that's pretty common these days (probably more common than using screen savers actually). Unfortunately I don't have a multi monitor setup so I wouldn't even know where/how to start supporting that. 🙁

Posted

I just checked the screensaver by copying to c:\Windows\SysWOW64\.

If I select in preview window (monitor) your screensaver then it will not be closed when I switch to another one. Maybe this will not be an issue because when closing the screensaver window then it will close automatically all sub processes. Afaik remember it wasn't the case in previous os. The process was still running in the memory. Maybe this is a Windows10 feature to close all sub processes automatically.

You can use

Global Const $hFullScreen = WinGetHandle("Program Manager")
Global Const $aFullScreen = WinGetPos($hFullScreen)

to get the whole desktop size incl. multi monitors.

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted
42 minutes ago, UEZ said:

I just checked the screensaver by copying to c:\Windows\SysWOW64\.

If I select in preview window (monitor) your screensaver then it will not be closed when I switch to another one. Maybe this will not be an issue because when closing the screensaver window then it will close automatically all sub processes. Afaik remember it wasn't the case in previous os. The process was still running in the memory. Maybe this is a Windows10 feature to close all sub processes automatically.

You can use

Global Const $hFullScreen = WinGetHandle("Program Manager")
Global Const $aFullScreen = WinGetPos($hFullScreen)

to get the whole desktop size incl. multi monitors.

Ah yes, I couldn't figure out a clean way to have it close the preview process. If the application is sent a signal to close I don't know what it is. In my testing I found the same, the process died when the dialog was closed, and I believe this happened in Windows 7 at least as well so I guess I deemed it "good enough". I should probably do it properly though.

And thanks for the suggestion for multi-mon. I'll have to implement that and throw it up here again for @funkey to test. 😁

Posted
54 minutes ago, therks said:

Ah yes, I couldn't figure out a clean way to have it close the preview process. If the application is sent a signal to close I don't know what it is. In my testing I found the same, the process died when the dialog was closed, and I believe this happened in Windows 7 at least as well so I guess I deemed it "good enough". I should probably do it properly though.

And thanks for the suggestion for multi-mon. I'll have to implement that and throw it up here again for @funkey to test. 😁

I solved the process issue by getting the parent pid and checking if child pid count changed. If so, then the current screensaver can be closed.

The screensaver will be call be parent process called rundll32.exe and should have always one child process -> the screensaver.

I had also released some screensavers, so search for them and you will find the appropriate code section. 😉

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted
1 hour ago, therks said:

So I did encounter a problem, @UEZ. When triggered manually everything worked fine, but when triggered by the system AutoIt can't find the "Program Manager" window. So I grabbed the dimensions using _WinAPI_GetSystemMetrics instead.

It can be that _WinAPI_GetSystemMetrics() is not dpi aware. Then you will get wrong values. Currently I cannot test multi monitor with different dpi settings.

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Posted

Works fine now for my three Monitors. Thanks!

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Posted
2 hours ago, funkey said:

... for my three Monitors...!

now I understand why of your eyes... :P
P.S. sorry for the hilarity

 

image.jpeg.9f1a974c98e9f77d824b358729b089b0.jpeg Chimp

small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...