Is it possible to prevent a program from being closed in a Windows domain?

  • Thread starter Thread starter martix
  • Start date Start date
  • Tags Tags
    Program
Click For Summary

Discussion Overview

The discussion revolves around the feasibility of preventing a program from being closed in a Windows domain environment. Participants explore various methods to achieve this, including modifying GUI elements, using higher permissions, and implementing hooks or callbacks. The conversation touches on both theoretical and practical aspects of program behavior in operating systems.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Exploratory

Main Points Raised

  • Some participants suggest altering the GUI to remove close buttons or making the program's interface inaccessible.
  • Others propose running the program with elevated permissions and using a secondary process to monitor and restart it if closed.
  • A few participants express concerns about the ethical implications of making a program uncloseable, likening it to rootkit behavior.
  • One participant mentions the possibility of using callbacks in programming to intercept close commands, although this does not guarantee the program cannot be terminated.
  • There are suggestions for using Windows-specific message handling to prevent closure, but this does not eliminate the possibility of termination through other means.
  • Some participants inquire about the specific context and requirements for the program in question, including the operating system and user permissions.
  • One participant notes that changing Active Directory settings can enforce a program to run continuously, logging users out if it is closed.

Areas of Agreement / Disagreement

Participants express a mix of agreement and disagreement regarding the methods discussed. While some acknowledge the technical possibilities, others caution against the ethical implications and practical challenges of making a program uncloseable.

Contextual Notes

Participants highlight limitations such as the potential for users to terminate processes through task management tools, the need for elevated permissions, and the implications of using techniques associated with rootkits. There is also uncertainty about the persistence of permission settings across system restarts.

Who May Find This Useful

This discussion may be of interest to software developers, system administrators, and IT professionals dealing with application management and user permissions in Windows environments.

martix
Messages
167
Reaction score
5
I need to make a certain client program uncloseable(the best option). Or have it start itself every time someone closes it.
Any help?
 
Computer science news on Phys.org
HOW would someone close it? You should be able to change the default frame so that it no longer has the cancel button.
 
Although one might make the GUI inaccessible, one could still terminate the process (kill on linux, or task manager on Windows), if you have sufficient permission to use those tools.

One could try to run the process with higher level permissions... and maybe another program which periodically checks to see if the desired process is still running... restarting it if weren't.

Can you be more specific about what you want to run?
and who you want to prevent from stopping it?
 
Er... I want people to be unable to exit the program from its GUI or window or whatever...
And I'll also go look how to disable the task manager.
 
Your objective is a very bad idea.
 
If you wrote the program or have the source code you can do it for most user activity.

The syntax varies by programming language.
The generalized solution:
Setup a callback function on the close button.
Issue a cancel message when the function gets control.
 
symbolipoint said:
Your objective is a very bad idea.

I'll agree, but some places do this.
 
goto phrack.com and search on invisible - there are ways to not appear in the process list in Windows. The suggestions about callbacks on some types of windows messages are good (called hooks usually). You will also have to make the program start on bootup. You are left with the problem of a user deleting the .exe, and rebooting. I'll leave it here.

A lot of this stuff is the stuff of rootkits. So most of first think very unkindly of this whole deal. I'm one of 'em.

Try phrack.
 
jim mcnamara said:
A lot of this stuff is the stuff of rootkits. So most of first think very unkindly of this whole deal. I'm one of 'em.
I guess my opinion is that anyone capable of writing an operational hook isn't going to need to ask. It is simply a non trivial task to write one that doesn't blue screen you.

The idea has legitimate uses, say like a sales app on dedicated terminal or even the "Did you really want to quit without saving" message. In the former case you probably want to disallow the standard base window decorations like min, max and the close buttons.

Callbacks are offered by the instantiation of a GUI control (the hook is hidden in the class).

Hooks usually imply a direct connection into the O/S message queue (not unique to Windows) and often have callbacks.
 
  • #10
martix said:
I need to make a certain client program uncloseable(the best option). Or have it start itself every time someone closes it.
Any help?

I always ask myself the same problem. If you get something on this, please submit it (the link or some other source)! Thank you!
 
  • #11
Writing control systems for nuclear missiles, eh? :rolleyes:
 
  • #12
At least under Windows something like

Code:
switch (msg) 
{
  case WM_QUIT: return 0;

(...)

will disable close button. It doesn't mean program can't be closed, but it can become PITA :)
 
  • #13
Borek said:
At least under Windows something like

Code:
switch (msg) 
{
  case WM_QUIT: return 0;

(...)

will disable close button. It doesn't mean program can't be closed, but it can become PITA :)
Look can you be a more clear!
I wrote i program in C. Am i gonne introduce that code?
Another question is what does mean "PITA"?
 
  • #14
As for PITA - you better Google it. It has nothing to do with programming :smile:

[micorosoft windows specific]Each window has a window procedure, where messages/events send by the system are handled. If a window is sent WM_QUIT message it should close itself, it should the same receiving WM_CLOSE message. You don't have to handle these messages by yourself, standard procedure is to pass handling to DefWindowProc() which will do the trick. If you will not pass the message, users have problem closing window/program.[/microsoft windows specific]

Even if your program is a console application, there is a hidden window procedure, you just don't write nor controll it by yourself.

Note: I have not wrote native Windows program for ages, so my memory is a little bit shady on details. But the generall idea should be correct.
 
  • #15
No rootkits, I promise :) And NoTime is correct - if I could write a hook I wouldn't be asking here, would I... :)
Just a VPN client, a WebServer and the bunch that some people are not nice enough to leave alone to do their job.
I think I can make the Server Service Automatic, which should mean that you can't stop it from the GUI of the program, right?
And I think I can set the permissions of the other services so, that they can't be closed from the troublesome user.
My question is - are the permissions going to persist on restart?
OS is WinXP Pro SP2

And no, I could not find what PITA means...
 
  • #16
Pain in the a... :biggrin:
 
  • #17
Pita, n.
1. "An often round, brown, wheat flatbread made with yeast."
2. People Ingesting Tasty Animals?
3. See zeitghost, above. :rolleyes:
 
  • #18
Changing a active directory setting in a windows domain will do this. The user profile is tied to one program which is ran when the user logs in. When the program is closed, the user is logged out. This is very common in some businesses.

For example a denist that uses a vertical app for his whole business.
 

Similar threads

  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 51 ·
2
Replies
51
Views
7K
Replies
6
Views
3K
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
4
Views
2K
Replies
21
Views
5K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K