An alternative method to hide your process from Windows Task Manager. Ive had the idea to do this for many years, but i couldnt get past the GPF's with sendmessage. recently i figured out how to make it work. Screenshot included.
Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come
out every day, so no prevention program can catch 100% of them. For your own safety, please:
Re-scan downloaded files using your personal virus checker before using it.
NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
Scan the source code with Minnow's Project Scanner
If you don't have a virus scanner, you can get one at many places on the net
Terms of Agreement:
By using this code, you agree to the following terms...
You may use
this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.
You may link to this code from another website, but ONLY if it is not wrapped in a frame.
You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.
since many people dont read comments inside the code before running it, here is a simple note. you should compile first before you run it; that way the application has its own process. (If this comment was disrespectful, please report it.)
Pretty slick...one minor problem is: when this shows up in the windows task manager, and I click on the "Image Name" bar to sort by name, the entry (in my case 'explorer.exe') stays where it popped in, and won't sort properly. Minor problem. (If this comment was disrespectful, please report it.)
i believe that i have completed the first step of many steps that will be needed for this to be 100% accurate. the next step is subclassing WTM. if its subclassed instead of the timer you can do alot more methods to trick the user. another idea i had(which involve subclassing) was, when the syslistview is redrawn, totally delete the item from the list before its refreshed. that would help it out alot i think. anyways, feel free to modify and post. i may add subclassing someday when im bored if its not done already by someone else. (If this comment was disrespectful, please report it.)
also about the sort problem noted by Bob Hutchison; to get around this, if your app name was "explored.exe", i dont think you'd have any problem hiding it and keeping it sorted as "explorer.exe". but i understand it could be an issue. you'd be better off using another name, since there should only be 1 "explorer.exe" to start with, mine was just a sample since its a [User] ran process and not marked as [system]. (If this comment was disrespectful, please report it.)
I am hoping to use some of your work to fulfill a somewhat simpler requirement: I just need to find if a given program is already running (to prevent a second running of that program). I have found that your process fails (returns 0) at this line RetVal = FindWindowEx(RetVal, ByVal 0&, "SysListView32", "Processes") unless Task Manager is running. This would not be the normal situation for my users. I would be grateful for any light you can shed on these isues.
(If this comment was disrespectful, please report it.)
I tried to figure out how to call the function to change the Process Name, but failed to see any clue. Kindly give an example of how I can say change a Process Name called "MyAPP.EXE" to say "NEWAPP.EXE" (If this comment was disrespectful, please report it.)
i run winXP, i have not tested this on winVista, nor win7. but in the timer1_timer event you can change the existing code from ModifyExe("explorer.exe", App.EXEName & ".exe") to ModifyExe("NEWAPP.EXE", "MyAPP.EXE") (If this comment was disrespectful, please report it.)
Add Your Feedback
Your feedback will be posted below and an email sent to
the author. Please remember that the author was kind enough to
share this with you, so any criticisms must be stated politely, or they
will be deleted. (For feedback not related to this particular code, please
click here instead.)