![]() |
Programm vor Taskmanager verstecken
Liste der Anhänge anzeigen (Anzahl: 2)
ich habe folgenden Code im INet auf diversen Seiten gefunden:
Delphi-Quellcode:
angeblich soll dieser Code das Programm vor dem Taskmanager verstecken.
function RegisterServiceProcess(dwProcessID, dwType: dword): integer; stdcall;
external 'Kernel32.dll'; procedure TForm1.FormCreate(Sender: TObject); begin RegisterServiceProcess(0, 1); end; Doch bei mir macht er nur folgendes: - Das Programm startet im Einzelschritt - Es stürzt ab, bevor die OnCreate-Methode des MainForms aufgerufen werden kann. - Ich bekomme die Fehlermeldung, die im Anhang zu sehen ist Wenn ich nun die Zeile mit "RegisterServiceProcess" auskommentiere, dann läuft das Programm wieder normal. Hat einer von euch 'ne Ahnung, was falsch sein könnte? (Quell-Code im Anhang) |
Re: Programm vor Taskmanager verstecken
Hallo Marc,
üblicherweise übergibst du GetCurrentProcessID() als ersten Parameter. Grüße vom marabu |
Re: Programm vor Taskmanager verstecken
:(
Hat leider auch nicht den gewünschten Effekt. Ich habe immer noch den selben Fehler... |
Re: Programm vor Taskmanager verstecken
a.) Man versteckt keine Prozesse vor dem TaskManager, sondern entzieht dem Benutzer den Zugriff
b.) Funktioniert deine C&P-Frickellösung nur auf Windows 9x/Me Um es vorneweg klarzustellen. Ja, RegisterServiceProcess() ist eine Frickellösung. Da hilft auch kein rumdiskutieren. Während ich bei Win9x/Me ohne Rechteverwaltung durchaus noch eine Daseinsberechtigung sehen könnte (mit viel gutem Willen), ist sie ab NT4 (eigentlich NT allgemein) nicht mehr gegeben. Daher existiert diese Funktion dort nicht. Und das ist auch gut so. Willst du verhindern, daß dein Prozess beendet wird, so tu dies über ACLs usw.! Sagst du uns noch welches OS du hast, Marc?! |
Re: Programm vor Taskmanager verstecken
Gerade wollte ich Marc bitten vor dem Aufruf der Funktion WIN95 zu starten. Ich hatt in meiner code library geschaut und die Abhängigkiet erst soeben in der online hilfe entdeckt. Peinlich...
marabu |
Re: Programm vor Taskmanager verstecken
Zitat:
Mich wundert eigentlich nur, daß die o.g. Fehlermeldung kommt, weil dies für mich bedeutet, daß es kein fehlender Import sein kann. Da würde der PE-Loader vorher aufmucken. Also entweder gibt es einen schlechten Stub in dem OS, welches er benutzt, oder er benutzt Win9x/Me. Wobei dann der Fehler (lt. Adresse) gefühlsmäßig in einer DLL liegen dürfte. Hatte schon viele Probleme mit dieser Mist-Funktion. Die sollte man nur dynamisch importieren ... alle Programmierer, die das mißachten, gehören in die VisualBasic-Hölle :mrgreen: ... wurde uns diese Funktion vielleicht sogar vom ![]() Das ist übrigens der Grund, warum diese Funktion noch immer nicht offiziell dokumentiert ist. |
Re: Programm vor Taskmanager verstecken
1. Ich nutze Win2000 Pro, das Programm soll aber auch unter WinXP laufen (Home und Pro)
2. Delphi 7 Pro. 3. Das Programm soll eine Uhr sein, die ständig im Vordergrund liegt, damit man nicht immer die Taskleiste öffnen muss. Sie kann jederzeit per PopUp Menü beendet werden. Ich möchte sie nur verstecken, damit sie nicht per ALT-TAB auswählbar ist und so Platz spart... Rechtevergabe wäre hier also wie mit Kanonen auf Spatzen schießen. |
Re: Programm vor Taskmanager verstecken
Delphi-Quellcode:
Mit W2K verwendet man diese Funktion einfach nicht. Einen Prozess unter NT verstecken zu wollen ist
type
TFNRegisterServiceProcess = function(dwProcessID, dwType: dword): Integer; stdcall; function RegisterServiceProcess(dwProcessID, dwType: DWORD): Integer; var hLib:THandle; _RegisterServiceProcess: TFNRegisterServiceProcess; begin // Ist sowieso immer geladen _RegisterServiceProcess := nil; hLib := GetModuleHandle('Kernel32.dll'); if(hLib <> 0)then @_RegisterServiceProcess := GetProcAddress(hLib, 'RegisterServiceProcess'); if(Assigned(@_RegisterServiceProcess))then result := _RegisterServiceProcess(dwProcessID, dwType) else begin SetLastError(ERROR_CALL_NOT_IMPLEMENTED); result := 0; // Fehler signalisieren end; end; a.) entweder dumm, oder b.) mit einer bösen Absicht (Rootkit, Virus) verbunden. Such's dir aus ;) ... das Thema RSP ist so alt wie sonst nix. Mußt du diese Funktion dennoch verwenden, so wrappe sie wie ich es dir oben schnell hingetippt habe. Beispiele mit LoadLibrary() kannste hier komplett vergessen, weil manche Menschen denken sie könnten einen Win32-Prozess ohne kernel32.dll starten :mrgreen: Siehe auch: ![]() :wall: ... für dein Ziel brauchst du eine ganz andere Lösung. Poste ich nach dem Mittagessen wenn keiner schneller war. Den Code zum Verstecken haste ja nun. |
Re: Programm vor Taskmanager verstecken
Hallo Olli,
klingt ganz schön überheblich, was du da von dir gibst. Zitat:
Zitat:
Zu welcher Kategorie gehörst du denn zu a.) oder b.)? Rainer ( dieser Beitrag ist nicht ganz ernst gemeint ) |
Re: Programm vor Taskmanager verstecken
Hi Rainer,
locker bleiben. Zitat:
Nur weil es dumm ist etwas zu tun, ist derjenige der es tut nicht gleich dumm. Oder? Zitat:
Zitat:
Übrigens: siehe deine Signatur ;) -> Ja. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:25 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