Solved

Win98 tasklist

Posted on 2000-03-25
12
365 Views
Last Modified: 2010-04-04
How do i hide a Delphi 3 application from Windows 98's tasklist (Ctrl+Alt+Del), i'm a newbie so pls be specific. thanks
0
Comment
Question by:tyfing
  • 6
  • 2
  • 2
  • +2
12 Comments
 
LVL 13

Expert Comment

by:Epsylon
ID: 2656480
Try this:



unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Hide: TButton;
    Show: TButton;
    procedure HideClick(Sender: TObject);
    procedure ShowClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

function RegisterServiceProcess(dwProcessID,dwType : DWORD) :
                      DWORD; stdcall; external 'KERNEL32.DLL';

implementation

{$R *.DFM}

procedure TForm1.HideClick(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 1);
end;

procedure TForm1.ShowClick(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 0);
end;

end.
0
 
LVL 3

Expert Comment

by:shenqw
ID: 2656481
{A demo}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

 Const RSP_SIMPLE_SERVICE = 1;
 Const RSP_UNREGISTER_SERVICE = 0;
 function RegisterServiceProcess(dwProcessID,dwType:DWORD):DWORD;stdcall;

var
  Form1: TForm1;

implementation

{$R *.DFM}
 function RegisterServiceProcess(dwProcessID,dwType:DWORD):DWORD;external 'kernel32.dll';


procedure MakeMeService;
var
  pid,
  reserv:DWORD;
begin
  pid:=GetCurrentProcessId;
  reserv := RegisterServiceProcess(pid,RSP_SIMPLE_SERVICE);
end;

procedure UnMakeMeService;
var
  pid,
  reserv:DWORD;
begin
  pid := GetCurrentProcessId;
  reserv := RegisterServiceProcess(pid,RSP_UNREGISTER_SERVICE);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MakeMeService;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  UnMakeMeService;
end;

end.


0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2656496
Hi Shengw, nice answer  :o)
but I was slightly first so would to mind to withdraw your answer...
0
 

Author Comment

by:tyfing
ID: 2656748
epsylon's one is short and much sweeter and it works 100% fine.
0
 

Author Comment

by:tyfing
ID: 2656750
epsylon, thanks for your help but i have lost the email informing me of your aid...why don't you post another solution, well....just change the button's name or something to make it different and i will gladly accept it and accept ur solution. :)
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2656811
Tyfing, I see that you are new here so a little explanation how this site works.
Each comment has a button. Scroll up and look for the comment that you want to accept as answer and click on this button. The rest is easy...

Cheers.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 3

Expert Comment

by:shenqw
ID: 2656926
Cheers:
  I'm shenqw,not shengw.  
  Congratulations!!!
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2656969
Sorry shenqw, didn't see that. There's no difference between the 'g' and the 'q' when it is underlined   :o)

very confusing......
0
 
LVL 13

Accepted Solution

by:
Epsylon earned 50 total points
ID: 2658026
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    HideIt: TButton;
    ShowIt: TButton;
    procedure HideClick(Sender: TObject);
    procedure ShowClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

function RegisterServiceProcess(dwProcessID,dwType : DWORD) :
                      DWORD; stdcall; external 'KERNEL32.DLL';

implementation

{$R *.DFM}

procedure TForm1.HideItClick(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 1);
end;

procedure TForm1.ShowItClick(Sender: TObject);
begin
  RegisterServiceProcess(GetCurrentProcessID, 0);
end;

end.

0
 
LVL 1

Expert Comment

by:yk030299
ID: 2659414
listen
0
 
LVL 2

Expert Comment

by:PeterLarsen
ID: 2661644
Very nice,
Is it really so easy - hmmm !!
0
 
LVL 13

Expert Comment

by:Epsylon
ID: 2671349
Please grade...
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Need Delphi function to get Youtube video title 5 222
Delphi TcxGrid group footer summary 3 203
Intraweb download file link ? 1 105
Run video youtube webbrowse 10 57
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

930 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now