I have a log-in window application. When the user presses the cancel button
it kills another window by it's name and then it exits. The problem is that
if somebody kills the log-in window by terminating the process in the task
manager the other window is not killed.
One solution might be to have a surveillande thread which doesn't die when
the mother-thread dies, and can't be killed in the task manager. As soon as
the log-in window thread stops responding to surveillance messages it will
kill the other window and then exit.
Is this possible?
I've also tried to have a form which spawns another form, but in the Task
Manager there is only one entry (PasswordDialog.exe). If you kill this
process everything dies and the window which I want to kill when the log-in
window dies is not killed.
Peter Bromberg [C# MVP] - 25 Oct 2007 14:21 GMT
Don't understand why you need to go through this "killing the process"
business. If you've got a reference to the "other form", why not just close
it?
-- Peter
Recursion: see Recursion
site: http://www.eggheadcafe.com
unBlog: http://petesbloggerama.blogspot.com
BlogMetaFinder: http://www.blogmetafinder.com
> I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is that
[quoted text clipped - 12 lines]
> process everything dies and the window which I want to kill when the log-in
> window dies is not killed.
Ignacio Machin ( .NET/ C# MVP ) - 25 Oct 2007 15:43 GMT
Hi,
If somebody kills your "manager" app from the task manager I think it
receive a signal and only if no response is receive the scheduler simply
kill it.
In any case if the process is forcibly terminated you have no opportunity
to do nothing and there is nothing you can do about.

Signature
Ignacio Machin
http://www.laceupsolutions.com
Mobile & warehouse Solutions.
>I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is
[quoted text clipped - 15 lines]
> log-in
> window dies is not killed.
Peter Duniho - 25 Oct 2007 19:05 GMT
> I have a log-in window application. When the user presses the cancel button
> it kills another window by it's name and then it exits. The problem is that
[quoted text clipped - 7 lines]
>
> Is this possible?
Sure. Anything is possible, depending only on how much time you want to
put into it and how much of the OS you want to rewrite. :)
That said, your specific idea doesn't sound too hard. But I question
the need for a separate "surveillance" thread that can't be killed in
the task manager. There's no such thing in the OS (you can always stop
a process, and all threads exist within a process), so it would indeed
involve hacking the OS pretty severely to introduce that sort of thing.
IMHO, it would be better to just have the "other window" do the querying
of the login window. Have it send a message to the login window every
half-second or so, asking if it should close. The login window, if it
responds at all, will respond in the negative. That is, it will tell
the other window not to close.
If the user presses the cancel button OR if the login window process is
terminated, the login window simply won't respond to the query. In the
former case, the lack of a response will be by choice, in the latter by
necessity. Either way, the other window won't get a response and will
know to close itself.
Designing it this way means you only have to implement a single
behavior, rather than relying on multiple pieces of code implementing
different algorithms to work well together.
The whole thing sounds a bit house-of-cards-ish (why is this
functionality split into two different processes in the first place?),
but assuming you really want something that does what you're talking
about, I see no need to add yet another process to the mix.
Pete