Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Problem mit RegisterServiceProcess (https://www.delphipraxis.net/12418-problem-mit-registerserviceprocess.html)

Lefko 26. Nov 2003 20:17


Problem mit RegisterServiceProcess
 
Hallo Freunde :hi: ,

ich versteh das nicht... bei Win95,Win98 und WinMe funktioniert das doch, das Prog aus dem Taskmanager zu entfernen?!

Ich hab folgendes geschrieben:

Delphi-Quellcode:
Function RegisterServiceProcess(GetCurrentProcessID,...)
external 'kernel32.dll'


...

procedure Form1.create(Sender: TObject);
begin
if Win32Platform = 1 then try
                         RegisterServiceProcess(...) //Prog verstecken
                        except end;
end;

Und TROTZDEM kommt es immer zu Fehlermeldungen auf Systemen wie WinXP, bei denen (getestet) Win32Platform = 2 ist, wie dieser:

'Der Prozedureinsprungspunkt "RegisterServiceProcess" wurde in der DLL "KERNEL32.DLL" nicht gefunden.'


WORAN LIEGT DAS?! arghl

MfG Lefko

jbg 26. Nov 2003 20:23

Re: Problem mit RegisterServiceProcess
 
Unter Windows NT/2000/XP gibt es richtige Dienste (engl. Services). Dort ist eine Funktion RegisterServiceProcess somit nicht nötig und deswegen auch nicht vorhanden.

Lefko 26. Nov 2003 20:26

Re: Problem mit RegisterServiceProcess
 
Zitat:

Zitat von jbg
Unter Windows NT/2000/XP gibt es richtige Dienste (engl. Services). Dort ist eine Funktion RegisterServiceProcess somit nicht nötig und deswegen auch nicht vorhanden.


Büdde richtig lesen ja? Rate mal, wofür ich das mit dem "if Win32Platform = 1" da reingesetzt hab!

ich dachte, es wird nur probiert, auf die kernel32.dll zuzugreifen, wenn dieser befehl registerserviceprocess(...) ausgeführt wird.
wird vielleicht schon vorher irgendwie was an dieser procedure überprüft,so dass auch durch meine bedingung der fehler nur an dieser einen stelle vermieden wird, jedoch woanders auftritt?

MfG Lefko

MathiasSimmack 26. Nov 2003 20:29

Re: Problem mit RegisterServiceProcess
 
Ich will ja nicht den Arroganten raushängen lassen, aber wenn du vorher die Suche nach Hier im Forum suchenRegisterServiceProcess bemüht hättest, hättest du diese Frage nicht auch (noch) stellen müssen. :roll:

Wenn dein Problem das Laden ist, dann musst du versuchen, die Funktion dynamisch zu laden. Ich vermute mal, in deinem Quellcode steht irgendwas wie
Delphi-Quellcode:
function RegisterServiceProcess(bla bla); external 'kernel32.dll';
Das ist statisches Laden und wird auch mit einer Kontrolle via "Win32Platform" nicht funktionieren.

Lefko 26. Nov 2003 20:34

Re: Problem mit RegisterServiceProcess
 
Zitat:

Zitat von MathiasSimmack
Ich will ja nicht den Arroganten raushängen lassen, aber wenn du vorher die Suche nach Hier im Forum suchenRegisterServiceProcess bemüht hättest, hättest du diese Frage nicht auch (noch) stellen müssen. :roll:

Wenn dein Problem das Laden ist, dann musst du versuchen, die Funktion dynamisch zu laden.

statisches Laden wird auch mit einer Kontrolle via "Win32Platform" nicht funktionieren.

Hm, oke, danke!

Wie lädt man eine funktion denn dynamisch?!

MfG Lefko.

MathiasSimmack 26. Nov 2003 20:40

Re: Problem mit RegisterServiceProcess
 
Hier im Forum suchenLoadLibrary, Hier im Forum suchenGetProcAddress, Hier im Forum suchenFreeLibrary

Lefko 30. Nov 2003 00:06

Re: Problem mit RegisterServiceProcess
 
Danke, es klappt jetzt, die procedure dynamisch zu laden und zu benutzen :)

MfG Lefko.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr.

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