Winamp & Shoutcast Forums

Winamp & Shoutcast Forums (http://forums.winamp.com/index.php)
-   NSIS Discussion (http://forums.winamp.com/forumdisplay.php?f=65)
-   -   Detecting application when run by another user. FindWindow or...? (http://forums.winamp.com/showthread.php?t=330072)

juliarg 27th April 2011 10:14

Detecting application when run by another user. FindWindow or...?
 
In my uninstaller, I want to handle correctly the situation when one user on the machine tries to uninstall the app when another user has it running. Normally, I identify the running application using FindWindow and then looking at the window's user data from GetWindowLong(). But in this case, it doesn't seem to work. Can FindWindow find another user's windows? Is there a better way to handle this task?

jpderuiter 27th April 2011 10:38

FindWindow will not work:
Quote:

Originally Posted by http://support.microsoft.com/kb/310153/en-us
The traditional approach of using FindWindow or FindWindowEx will not work on a Windows XP system on which fast user switching is enabled because it will not detect application instances that are running in different user sessions (on different desktops).

The suggested method on this site using a Global Mutex requires you to edit the application you want to install...
If that's possible, you can use:
http://nsis.sourceforge.net/Allow_on...aller_instance
to check if it's running already.

Else you may try to use the method of trying to open the application executable for writing.
If it fails, it's in use:
http://forums.winamp.com/showthread.php?threadid=274495
Not sure if this works with fast user switching.

Wizou 7th May 2011 15:20

See http://nsis.sourceforge.net/Check_wh...ion_is_running

maybe one of the answers suits your situation


All times are GMT. The time now is 17:38.

Copyright © 1999 - 2010 Nullsoft. All Rights Reserved.