Click to See Complete Forum and Search --> : How to hide app in the Win95 task list?


Karl Spaelti
March 31st, 1999, 08:34 AM
Is there a way to make sure an app does not show up in the Win95 task list.

I have looked at Mike Blaszczak's stealth example which does not show up in the WinNT 4.0 task list. It is visible in the Win95 task list, though.


Thanks for any suggestions.

Karl.

December 3rd, 1999, 12:10 AM
hi,
goto resource script file and edit manually the dialog based application,
there set the window class style as WS_EXTOOLAPPWINDOW
bye

Sivakumar
December 3rd, 1999, 11:03 AM
The window style is WS_EX_TOOLWINDOW. But that will make the application not to appear only in the task bar but if the user presses Ctrl + Alt + Del, it appears in the task list.

Any solution to make the application invisible in the task list ( a little pop up window that appears when the user presses ctrl + alt + del )

Shiva

Shiva@indusaglobal.com

Programming is always a learning process

ozk
December 5th, 1999, 02:57 PM
Try looking at the following Win32 function:
RegisterServiceProcess.
It should make the process invisible when looking from the Ctrl+Alt+del window.

BTW, I tried the WS_EX_TOOLWINDOW style but it didn't work for me for some reason. do you know what could it be ???

Todd Jeffreys
December 5th, 1999, 03:14 PM
///// RegisterProcess.h ///////
#ifndef __REGISTERPROCESS_H
#define __REGISTERPROCESS_H
#include "Windows.h" // Not needed for MFC

typedef DWORD (CALLBACK *TRegis)(DWORD,DWORD);
int RegisterProcess();

#endif
///// EOF //////////////////////

///// RegisterProcess.cpp //////
#include "stdafx.h" // not used in non-mfc programs
#include "RegisterProcess.h"
#include "stdio.h"

int RegisterProcess()
{
HINSTANCE hKrnl32;

char *RspDllName = new char[_MAX_PATH];
char *Temp = new char[_MAX_DIR];
GetSystemDirectory( Temp, _MAX_PATH );
sprintf(RspDllName, "%s\\Kernel32.dll", Temp);
delete Temp;

LPCTSTR RspName="RegisterServiceProcess";
DWORD Ret;

//Load the kernel32.dll file
hKrnl32 = LoadLibrary(RspDllName);
if (hKrnl32 != NULL)
{
TRegis RegisterServiceProcess = (TRegis) GetProcAddress(hKrnl32, RspName);
if (RegisterServiceProcess !=NULL)
{
Ret = RegisterServiceProcess(NULL, 1);
}
else
{
delete RspDllName;
return NULL;
}

FreeLibrary(hKrnl32);
delete RspDllName;
return Ret;
}
else
{
delete RspDllName;
return NULL;
}
}