Deaktiver luk via Alt+F4 og Alt+Ctrl+Del

Tags:    delphi

User
Bruger #812 @ 10.03.02 13:05
Sidder og er igang med Delphi, men jeg sidder lidt fast i et probel: Hvordan fjerner man muligheden for at lukke et program med ALT+F4 og Alt+Ctrl+Del?

--
Thomas



6 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
<quote><quote<b>Fjern programmet fra Ctrl+Alt+Del menuen:</b>
under implementation skriver du:
function RegisterServiceProcess (ProcessID,RType:DWord):DWord; stdcall;external 'KERNEL32.DLL';

Hvor skal jeg skrive det? Er ikke helt sikker på det. Evt. en eksempel kildekode.
På forhånd tak.
--
Thomas</quote>

<pre>
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
function RegisterServiceProcess (ProcessID,RType: DWord): DWord; stdcall;external 'KERNEL32.DLL';

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

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

end.
</pre>


Emil Melgaard
<p><a href="mailto:emil.melgaard@private.dk">emil.melgaard@private.dk</a></p>[Redigeret d. 10/03-02 22:27:29 af Emil]



<quote>Sidder og er igang med Delphi, men jeg sidder lidt fast i et probel: Hvordan fjerner man muligheden for at lukke et program med ALT+F4 og Alt+Ctrl+Del?
--
Thomas</quote>

<b>Alt+F4:</b>
i onClose på formen skriver du: Action := caNone.

<b>Fjern programmet fra Ctrl+Alt+Del menuen:</b>
under implementation skriver du:
function RegisterServiceProcess (ProcessID,RType:DWord):DWord; stdcall;external 'KERNEL32.DLL';

i onCreate skriver du: RegisterServiceProcess(GetCurrentProcessID,1);

i onDestroy skriver du: RegisterServiceProcess(GetCurrentProcessID,0);

Emil Melgaard
<p><a href="mailto:emil.melgaard@private.dk">emil.melgaard@private.dk</a></p>



User
Bruger #812 @ 10.03.02 21:01
<quote<b>Fjern programmet fra Ctrl+Alt+Del menuen:</b>
under implementation skriver du:
function RegisterServiceProcess (ProcessID,RType:DWord):DWord; stdcall;external 'KERNEL32.DLL';<quote>

Hvor skal jeg skrive det? Er ikke helt sikker på det. Evt. en eksempel kildekode.
På forhånd tak.
--
Thomas



User
Bruger #812 @ 10.03.02 22:30
Det virker stadigt ikke. Men nu kan jeg da compile det.
Jeg får en fejlmeddelelse, noget i retning af at "Procedureindgangstidspunktet RegisterServiceProcess blev ikke fundet i DLL-biblioteket KERNEL32.DLL." kan det være fordi at det er noget andet i WinXP?

--
Thomas



<quote>Det virker stadigt ikke. Men nu kan jeg da compile det.
Jeg får en fejlmeddelelse, noget i retning af at "Procedureindgangstidspunktet RegisterServiceProcess blev ikke fundet i DLL-biblioteket KERNEL32.DLL." kan det være fordi at det er noget andet i WinXP?

--
Thomas</quote>

Det er nok det, jeg har lige prøvet i WinXP og der siger den det samme.

Emil Melgaard
<p><a href="mailto:emil.melgaard@private.dk">emil.melgaard@private.dk</a></p>



User
Bruger #812 @ 11.03.02 17:48
<quote>Det er nok det, jeg har lige prøvet i WinXP og der siger den det samme.</quote>
Helt i orden Det med Alt+F4 var også det vigtigste. Man skal jo også gerne kunne lukke programmet på en eller anden måde.

--
Thomas



t