Your download link is at the very bottom of the page... always.



Processed through Paypal
No account required.


Donate Bitcoin to this wallet:
1KkUMXvQ2ko3xcJkzitB7WYgoW6m79WFfm
Donate Ethereum to this wallet:
0x40E56922F43637224935CDC35e2c96E0392A8505
Donate Litecoin to this wallet:
LLYAFEyqjH69gkyCEpRjXNyedRCWrVChfL

Buy our over-priced crap to help keep things running.



Join our Facebook groupFollow us on TwitterFollow us on InstagramOur RSS FeedJoin us on TikTokJoin us on LinkedIn


 Home » OlderGeeks.com Freeware Downloads » Windows Hacks » shutdownBlocker 1.2.2   
File - Download shutdownBlocker 1.2.2
Description

Always scroll to the bottom of the page for the main download link.
We don't believe in fake/misleading download buttons and tricks. The link is always in the same place.


shutdownBlocker 1.2.2
shutdownBlocker.exe is simple program that intercepts and blocks shutdown / restart / logoff commands. It protects from user mistakes, poorly designed installers (those lacking a 'restart later' option), and even windows itself (looking at you, 10).

It works by registering a ShutdownBlockReasonCreate() reason and objecting to WM_QUERYENDSESSION messages. It can optionally be set to consume all calls to shutdown.exe and MusNotification.exe (among other things, this blocks Windows 10 Update restarts); but this requires running the app as an administrator. A full rundown on how this stuff works is below the changelog.
Usage Notes

Requirements:
.NET Framework 4.0 or better; Get it from Microsoft.

Instructions:

Unpack the app to a folder; run it. (A settings file will be created in the program folder.) Then click the Block or Allow button.

If you wish to block shutdown.exe or MusNotification.exe restarts (to suppress Windows Update restarts), you will need to run the program as an administrator. As of v1.2 We automatically ask the OS for this (you'll get a UAC prompt); The app will also warn you if it's not been run as a admin.

The program must be kept running to work. You can send it to the notification tray by using the 'Hide' button, the escape key, or if upper right close button. Optionally you can hide the tray icon (in settings) for completely invisible operation.

You can have the program start up automatically via a check-box in settings; this uses a scheduled task for auto-start. Remember though, if you move the app, you should re-create the scheduled task (Uncheck 'start with windows', hit ok, then check it again).

Command Line Usage:

-startHidden
If an instance of the program is not already running, starts the program and immediately hides it.
-block
Starts the program and enables blocking.
-allow
Starts the program and disables blocking.

Some folks have asked how to uninstall... To do so, run the app, and in settings do the following:
Make sure "Start with Windows" is unchecked.
Make sure "Add shortcut to Start Menu" is unchecked.
Then you can delete the folder the app is in. That's it. Uninstalled.
(Really, this is about the same amount of work as going through an uninstall wizard from the control panel.)
ChangeLog

Version 1.2.2; 2017-03-08
Added: Hibernate command added to right click menus (tray menu and general app right-click menu)
Changed: tweaked some build options.
Changed: systemsettings code moved to debug mode, seems like it's no longer needed in new builds?

Notes on Blocking Windows Shutdowns

There are four generals cases/kinds of shutdown that I know about, with increasing difficulty of handling each...

Standard User & Application triggered shutdowns: The old way of blocking these was to process WM_QUERYENDSESSION messages in your message loop and return false on them. Newer versions of windows more or less ignore this; but fortunately they also introduce a much superior api for blocking: ShutdownBlockReasonCreate / ShutdownBlockReasonDestroy. Easy to use and nicely baked into the shutdown UI. No trouble there.

Local shutdown.exe calls: These will ignore both the blocking methods above, so special handling is required. The AbortSystemShutdown() function will abort a shutdown triggered via this method, but:
I cant find a way of being notified of when a shutdown.exe shutdown has been triggered. So knowing when to call AbortSystemShutdown() is problematic. But even worse:
AbortSystemShutdown() works only if the shutdown is given a positive timeout. By providing a 0 second timeout and using the force parameter an unstoppable shutdown can be initiated.

Because of the timeout issue, I'm inclined to resort to the nuclear option: Remove the use of shutdown.exe altogether. This can accomplished by setting a debugger redirect via the "Image File Execution Options" key in the localmachine registry hive. Since shutdown.exe is rarely used not much functionality is lost, so this is a viable option; although it does require administrative privileges to implement.

Windows Update Scheduled Reboots: These are the nasty ones the Windows 10 update added that were rebooting people in the middle of games, calls etc... Hopefully those issues are/will be gone; but lets look at how to block em anyway. These are done via scheduled tasks, (the task name is "system32\tasks\Microsoft\Windows\UpdateOrchestrator\Reboot". When it runs, the task executes the command "C:\Windows\system32\MusNotification.exe Reboot" to actually restart the machine. There's no UI and no obvious way to abort once the task is run. So we can either poll task scheduler and disable or defer the reboot task, or we can intercept MusNotification.exe as above in #2.

Remote shutdown.exe calls: Obviously, we can't block remote shutdowns in the same way we can local ones. Disabling the remote registry service will prevent them, but removing that functionality does quite a bit of collateral damage... So it seems the best we can do here to to make repeated calls to AbortSystemShutdown() (on a 900 ms delay loop) and hope the remote caller provided a timeout.

Note the standard user-triggered shutdown is also the easiest one to block; more evidence Microsoft hates its users.
License Information

This software includes code or resources from the following sources:

Host icon grabber routine by Sergey Stoyan.
Licensed under the terms of: The Code Project Open License (CPOL) 1.02

Additional icon code by Steve McMahon.
Licensed under the terms of: vbAccelerator Software License

Includes Icon by Icons8. Licensed under the terms of: Icons8 License

This software is distributed as-is, without any representations or warranties of any kind.
The author of this software imposes no additional license terms or limits upon its use or redistribution.
Feedback/Bugs

Send to utils@cresstone.com





Continue below for the main download link.


Downloads Views Developer Last Update Version Size Type Rank
4,764 7,816 cresstone.com <img src="http://www.oldergeeks.com/downloads/gallery/thumbs/shutdownBlocker1_th.png"border="0"> Mar 19, 2017 - 13:41 1.2.2 61.4KB ZIP 5/5, out of 52 Votes.
File Tags
shutdownBlocker  1.2.2  
      
Whoa! Slow down there, Speedy.
Read this and then continue to download below.

Like seeing no ads? No misleading/fake download buttons?
We like it too! This site has been kept alive for 15 years
because of people just like you who download and donate.
No one is stopping you from downloading without donating
but the site runs on the "Honor System". If your momma
raised you to be honorable, make a donation and download
'til ya turn blue. Make your momma proud!

Thank you ! -Randy & Deanna (The Older Geeks)

Monthly operating costs = $750
Donations cover operating costs first
then are set aside for future upgrades and/or
handed-over to Deanna for new shoes.

Or

Or
Send a check payable to Home Computer Repair LLC, 208 E. Water St. Mount Vernon, MO 65712


Recent Super Donors ($50+)
Thanks, James
Thanks, Arthur
Thanks, Guy
Thanks, Harold

Recent Donors
Thanks, Chuck
Thanks, Paul
Thanks, Yde
Thanks, Richard
Thanks, William
Thanks, Edward
Thanks, Alida
Thanks, Dean
Thanks, G.
Thanks, John

→ Download Your File ←


Click to Rate File     Share it on Twitter →


OlderGeeks.com Copyright (c) 2024