We help IT Professionals succeed at work.

Disable Hard Shut Down in Windows XP or Vista

1,362 Views
Last Modified: 2013-12-01
I know that holding the power button down for five seconds is supposed to bypass software and shut the computer down, but I was wondering if there was anyway to bypass or disable this feature. Is there anyway to stop the computer from automatically turning off after the power button is held down for five seconds? Is there anyway to seriously delay the shut down (increase the time that it must be held down from five to say ten, fifteen, or twenty seconds)? There have been times when my computer has frozen and it has taken much longer than five seconds to hard reboot, which leads me to believe that there is some software involvement in the hard boot request. Does anyone know how to disable this request? I am asking specifically for XP and Vista and on a laptop that has no access to the BIOS. Thanks for any help that you can offer.  Would it be possible to use POWER_FORCE_TRIGGER_RESET (http://msdn.microsoft.com/en-us/library/aa373148(VS.85).aspx) to reset the hard boot request?  Would it be possible to create a driver to intercept the interrupt request?

My goal is to thwart the mischievous two and a half year old twins in my house who enjoy holding down the power button on my laptop computer. I often leave the computer unattended as it completes compiling tasks, and it is not possible to keep the kids away from it and putting something over the power button has proved ineffective. I want to make a little program that runs and disables shutdown via holding down the power button. It would make my life for the next several years MUCH easier. Also, I think that it would be fun to create and a neat software functionality to have!
Comment
Watch Question

This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
tigermattSite Reliability Engineer
CERTIFIED EXPERT
Most Valuable Expert 2011
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Retired
CERTIFIED EXPERT
Most Valuable Expert 2013
Top Expert 2009
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Gary CaseRetired
CERTIFIED EXPERT
Most Valuable Expert 2013
Top Expert 2009
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
tigermattSite Reliability Engineer
CERTIFIED EXPERT
Most Valuable Expert 2011
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION

Author

Commented:
As garycase states, "Modern computers have a separate microprocessor that manages several of the low-level functions in the system -- one of which is the power button.   This button actually sends an interrupt to this 2nd processor, which will, in turn, send an interrupt to the main CPU ==> which will do whatever you have told it to for a power button press.   [As I'm sure you know, the power "switch" doesn't actually have anything to do with switching the power :-)  ... it's a "soft" switch which simply invokes the appropriate action by these processors]

If the low-level control CPU [a decade or so ago this was typically an 8085, but it's not built into the chipset] does not "see" a release of the power button within a set amount of time (typcially 5 seconds), it will release the PS_ON signal on the bus => which causes the system to shut down."

Is there any way to create a driver or anything else that could intercept and override that interrupt and stop the hard power down?

Author

Commented:
Thank you very much for responding to my question. I have partially reformed the question and posted it here: https://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Windows/XP/Q_23560779.html.  I appreciate your help!
Gary CaseRetired
CERTIFIED EXPERT
Most Valuable Expert 2013
Top Expert 2009

Commented:
IF the comments about newer systems actually embedding this option in the BIOS are correct (I've not seen this -- any specific examples??) then you could simply change that parameter.    For that to work, the BIOS would have to be using dual-ported memory that could also be accessed by the secondary chipset CPU; or there would have to be some other unique accomodation.   I learned long ago to never say never ... but I certainly doubt that's the case => at least until I see a system that implements that.   I do know that the main CPU does NOT have anything to do with this process [and it's that main CPU that executes the BIOS code].

In the days when there was an on-board 8085 [essentially an 8080 with an embedded EPROM to hold the code you wanted it to run] you could remove the 8085;  use an EPROM burner to read the current code;  disassemble the code; modify it to do whatever special functions you wanted;  and then burn the modified code to a new 8085 and replace it in the system.   To my knowledge you can't do that with the current systems, as that function is now part of the chipset ... and I don't believe it's reasonably modifiable [but in fairness I simply don't know whether or not the chipsets have EEPROM memory that can be modified by modern equipment].   If it is possible, you would clearly need some fairly sophisticated (and expensive) equipment to do it.   In the mid-80's I had a nice EEPROM burner that only cost a couple hundred $$ ... I'm certain whatever you would need today would cost FAR more :-)

Gary CaseRetired
CERTIFIED EXPERT
Most Valuable Expert 2013
Top Expert 2009

Commented:
... One thing you COULD do (with a bit of surgery) is to replace the simple direct connection of the power switch with a small circuit that would automatically break the circuit after its initial connection.   Twenty years ago I could have designed that for you in a couple minutes ... but my ageing mind has long since forgotten such details :-)

Any young electrical engineer with a good foundation in circuits could do it with a resistor, capacitor and a micro-relay => basically when you press the switch there's an instantaneous short, but then the capacitor charges and the circuit's broken ... so the "5 second" window never occurs.    I suspect modern PLC's, or even a simple 555 timer IC could do this even more elegantly ... but in any case the actual implementation is beyond my current "comfort level", so I'll leave that for other experts better versed in circuitry.   And it would, of course, require a bit of "surgery" on your laptop => this isn't a software-based solution (I don't think there is one).

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.