Making a program uncloseable

  • Thread starter martix
  • Start date
  • #1
147
0

Main Question or Discussion Point

I need to make a certain client program uncloseable(the best option). Or have it start itself every time someone closes it.
Any help?
 

Answers and Replies

  • #2
HallsofIvy
Science Advisor
Homework Helper
41,795
925
HOW would someone close it? You should be able to change the default frame so that it no longer has the cancel button.
 
  • #3
robphy
Science Advisor
Homework Helper
Insights Author
Gold Member
5,476
694
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?
 
  • #4
147
0
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.
 
  • #5
symbolipoint
Homework Helper
Education Advisor
Gold Member
5,785
1,000
Your objective is a very bad idea.
 
  • #6
NoTime
Science Advisor
Homework Helper
1,568
0
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.
 
  • #7
NoTime
Science Advisor
Homework Helper
1,568
0
Your objective is a very bad idea.
I'll agree, but some places do this.
 
  • #8
jim mcnamara
Mentor
3,749
2,044
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.
 
  • #9
NoTime
Science Advisor
Homework Helper
1,568
0
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
193
0
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
CRGreathouse
Science Advisor
Homework Helper
2,820
0
Writing control systems for nuclear missiles, eh? :uhh:
 
  • #12
Borek
Mentor
28,328
2,717
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
193
0
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
Borek
Mentor
28,328
2,717
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
147
0
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 cant 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
156
0
Pain in the a... :biggrin:
 
  • #17
CRGreathouse
Science Advisor
Homework Helper
2,820
0
Pita, n.
1. "An often round, brown, wheat flatbread made with yeast."
2. People Ingesting Tasty Animals?
3. See zeitghost, above. :rolleyes:
 
  • #18
31
0
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.
 

Related Threads for: Making a program uncloseable

Replies
11
Views
6K
Replies
3
Views
8K
Replies
2
Views
1K
  • Last Post
Replies
23
Views
12K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
7
Views
3K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
1
Views
3K
Top