lx-s / WinMute

WinMute lets you automatically mute your PC volume on certain events (e. g. Screensaver, Workstation Lock, Shutdown, etc.).
BSD 3-Clause "New" or "Revised" License
168 stars 6 forks source link

“Entry Point Not Found” Error on Windows 7 #21

Closed win98se closed 1 year ago

win98se commented 1 year ago

On Windows 7, it gives an error dialog, describing “The procedure entry point SetCoalescableTimer could not be located in the dynamic link library USER32.dll.”

According to Microsoft, this function is only available since Windows 8.0.

win98se commented 1 year ago

Replacing SetCoalescableTimer calls with SetTimer works, but not sure if it will break things.

lx-s commented 1 year ago

Thank you for your investigation :) SetCoalescableTimer allows the OS to schedule the timer more energy efficient (coalesce them with other timers, that would run around the same time). But changing it to the old SetTimer wouldn't break anything. Since Windows 7 is no longer supported by Microsoft (end of support was 2020), and I can no longer test it, I really should drop the text stating "Windows 7" support.

But since that seems to be the only problem with Win 7 compatibility right now, I'll change that call to SetTimer. Until after the holiday season here (until 7th of January) I won't be able to do any work on WinMute, but afterwards, I'll change it.

Thanks for your help :)