Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   prozess verstecken (https://www.delphipraxis.net/12710-prozess-verstecken.html)

geisi 2. Dez 2003 20:26


prozess verstecken
 
Ich habe hier im forum den folgenden code bekommen, um meinen prozess zu beenden:
Delphi-Quellcode:
interface
 
uses

  function RegisterServiceProcess
    (dwProcessID, dwType: DWord) : DWord; stdcall;


implementation

{$R *.DFM} 

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

Diese Procedure vesteckt die Anwendung vor dem Taskmanager:

procedure TForm1.Button1Click(Sender: TObject);
begin
  RegisterServiceProcess(0,1);
end;

Und diese zeigt sie wieder an:

procedure TForm1.Button2Click(Sender: TObject);
begin
  RegisterServiceProcess(0,0);
end;
--
Ich habe ihn so verwendet und bekomme die Fehlermeldung, das für 'RegisterServiceProcess' eine deklaration erwartet wird aber eine stringkonstante gefunden, was habe ich falsch gemacht?
Delphi-Quellcode:
unit Unit1;

interface

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

  function RegisterServiceProcess(dwProcessID, dwType: DWord): DWord;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

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


procedure TForm1.Button1Click(Sender: TObject);
begin
  RegisterServiceProcess(0,1);
end;

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

end.

Christian Seehase 2. Dez 2003 20:30

Re: was passt hier nicht?
 
Moin Geisi,

lass das hier

'RegisterServiceProcess';

mal weg, oder schreib name davor.

Luckie 2. Dez 2003 20:32

Re: was passt hier nicht?
 
Ändere bitte den Titel deines Topics. "Was passiert hier nicht?" ist nicht sehr aussagekräftig.

Dann. Mit dem Code beendest du keine Anwendung, sondern versteckst sie für dem Taskmanger unter Windows9x. Überleg dir also noch mal was du überhaupt willst.

CalganX 2. Dez 2003 20:38

Re: was passt hier nicht?
 
Hi geisi,
ich hab noch was zu motzen. ;) Bitte poste nicht zweimal den gleichen SourceCode. Dadurch wird der Beitrag unnötig groß.
Zitat:

Zitat von geisi
Ich habe ihn so verwendet und bekomme die Fehlermeldung, das für 'RegisterServiceProcess' eine deklaration erwartet wird aber eine stringkonstante gefunden, was habe ich falsch gemacht?

Ganz einfach. Du schreibst:
In deinem Source steht
Delphi-Quellcode:
function RegisterServiceProcess(dwProcessID, dwType: DWord): DWord;
  external 'KERNEL32.DLL';'RegisterServiceProcess';


Du müsstest aber schreiben:
Code:
function RegisterServiceProcess(dwProcessID, dwType: DWord): DWord;
  external 'KERNEL32.DLL';[color=#ff0000]name [/color]'RegisterServiceProcess';
Alternativ kannst du das nach dem name auch weglassen. :)

Chris

geisi 2. Dez 2003 20:39

Re: was passt hier nicht?
 
ich habe schon verstecken gemeint, nicht beenden!

wenn ich 'RegisterServiceProcess' weglasse,dann kommt die Fehlermeldung:
"Der Prozedureeinsprungpunkt 'RegisterServiceProcess' wurde in der DLL 'KERNEL32.DLL' nicht gefunden"

was kann ich da jetzt machen?

CalganX 2. Dez 2003 20:41

Re: was passt hier nicht?
 
Hi,
nochmal zur Nachfrage: wo kommt welcher Fehler, an welcher Stelle, wenn du was weglässt?

Chris

Luckie 2. Dez 2003 20:43

Re: was passt hier nicht?
 
Ich muss dich noch mal ermahnen. Ändere bitte den Titel deines Topics. :warn:

geisi 2. Dez 2003 20:43

Re: was passt hier nicht?
 
mache ich es wie chakotay1308:
function RegisterServiceProcess(dwProcessID, dwType: DWord): DWord;
external 'KERNEL32.DLL';name 'RegisterServiceProcess';
Fehlermeldung:
Deklaration erwartet, aber Bezeichner 'name' gefunden

CalganX 2. Dez 2003 20:46

Re: prozess verstecken
 
Hi,
sorry. Mein Fehler:
Delphi-Quellcode:
function RegisterServiceProcess(dwProcessID, dwType: DWord): DWord; external 'KERNEL32.DLL' name 'RegisterServiceProcess';
Wenn das nicht klappt fress ich nen Besen. *besen such*

[-- s.u. --]

Chris

[edit]Da war ja dann doch einer schneller als ich. ;)[/edit]

geisi 2. Dez 2003 20:50

Re: prozess verstecken
 
Der Einsprungpunkt wird jetzt nicht gefunden (laut Fehlermeldung);


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:33 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz