![]() |
Fenster aus Systemdienst heraus verstecken
Hallo,
ich möchte ein Fenster verstecken, dazu habe ich bisher folgenden Code verwendet:
Delphi-Quellcode:
Dieser Code versteckt das Fenster jedoch nur wenn der Benutzer Administratorrechte hat. Mein Benutzer hat jedoch keine Administratorrechte, daher wollte ich diese Prozedur in einem Systemdienst unterbringen. Das funktioniert jedoch leider auch nicht, hat jemand eine Idee wie es laufen könnte ?
procedure MinimizeWindowName;
var value :string; h :hwnd; begin Value := 'Unbenannt'; //z.B. notepad.exe h := SucheFensterUeberTitel(Value); if h <> 0 then ShowWindow(h, SW_HIDE); end; end; KUBA |
Re: Fenster aus Systemdienst heraus verstecken
hast du mal geschaut warum es nicht funktioniert? Wird das Handle nicht gefunden wenn du es als normaler Nutzer ausführst oder geht ShowWindow schief? Und wenn es schief geht - wie lautet der Fehler?
Als dienst kann es nicht weil diese in einer anderen WindowStation ausgeführt werden zumindest in einem anderen Desktop. |
Re: Fenster aus Systemdienst heraus verstecken
Hm, woran sehe ich das ?
Der NT-Service läuft auf einem anderen PC (einem Test PC). Habe gerade weitergesucht und festgestellt, dass ich Funktionen verwende um die Taskleiste zu verstecken. Das funktioniert in meinem NT-Service, dort wird FindWindow verwendet:
Delphi-Quellcode:
Damit funktioniert´s:
h := FindWindow(PChar(Value),nil);
Delphi-Quellcode:
Es hat vermutlich etwas mit den Benutzerrechten und dem Desktop zu tun. SucheFensterueberTitel sucht ein Fenster auf dem Desktop, der NT-Service hat aber kein Desktop. FindWindow sucht vermutlich das Fenster in der Prozessliste.
procedure MinimizeWindowName;
var value :string; h :hwnd; begin Value := 'notepad'; //z.B. notepad.exe h := FindWindow(Value); if h <> 0 then ShowWindow(h, SW_HIDE); end; end; KUBA |
Re: Fenster aus Systemdienst heraus verstecken
Zitat:
Ich verwende bzw. teste die Software nicht auf dem PC auf dem ich sie programmiere, das wäre bei der Software die ich gerade entwickle zu riskant. Da ich weiss dass die Funktionen in Ordnung sind denke ich lieber darüber nach welche Umstände für das Verhalten der Software in Frage kommen könnten. Das geht momentan schneller als debuggen und meine Systemkonfiguration zerschiessen. :roll: kuba PS: für mich ist es wichtig dass ich überhaupt Programme mit meiner Software verstecken kann, der Fenstername spielt keine Rolle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:56 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