![]() |
Desktop Handle für Admin-Systemdienst ermitteln (Windows 7)
Hallo Zusammen!
Um in einem Systemdienst das entsprechende Desktop handel zu erhalten, sind ja zahlreiche Schritte notwendig, besonders wenn es mit UAC um den hidden Desktop geht. Hierfür habe ich funktionierende Routienen die einwandfrei unter Vista funktionieren... Leider funktioniert es nicht mehr unter Windows 7. Googeln hat bisher auch nix gebracht.. Daher meine Frage an Euch: Was hat sich in diesem Zusammenhang zwischen Vista und Win 7 geändert? Bilder die man von Bildschirm kopiert sind leer und ein "GetDeviceCaps(DeskDC, HORZRES)" liefert 1027x768 anstatt der tatsächlichen Bildschirmauflösung. Die gleichen Routinen als "normales" Programm und nicht als Systemdienst ausgeführt laufen auch unter Win 7. Grüsse Mavarik :gruebel: |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Zitat:
Evtl. wurde ja eine potentielle Sicherheitslücke geschlossen ohne das diese auch für Vista behoben wurde. |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Ich habe den Source gekauf und der jenige wäre sicherlich nicht so erbaut, wenn ich den Source hier veröffentliche...
Mavarik |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Gibt es denn keine Hilfe von dem Verkäufer?
|
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Zitat:
|
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Zitat:
|
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Zitat:
Das übliche Verfahren hat ja sicherlich jeder schon mal programmiert... Und für Win 7 muss da ein "Trick" fehlen...
Delphi-Quellcode:
Mavarik
begin
.... DeskWnd := GetDesktopWindow; DeskDC := GetWindowDC(DeskWnd); DeskCv := TCanvas.Create; DeskCv.Handle := DeskDC; try BitBlt(AktBMP.Canvas.Handle, 0,0,ScreenWidth,ScreenHeight, DeskDC,0,0,SrcCopy); finally DeskCv.Free; ReleaseDC(DeskWnd, DeskDC); end; |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Geht das nicht auch schon in diese Richtung?
![]() Hast du dir auch schon die ganzen Rückgabewerte von GetDesktopWindow, GetWindowDC und BitBlt angesehn? Result und vorallem GetLastError. |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Zitat:
Zitat:
So funktioniert es ja auch unter Vista... :stupid: Hatte ich das schon gesagt. lol Vielleicht liegt es an der Kombination der Flags... ich werde mal etwas rumspielen... Mavarik :gruebel: |
Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows
Kann es sein das du keinen Inhalt bekommst weil einfach gar nix auf dem Desktop liegt? Wieso sollte den Systemdienst-Desktop irgendwas Zeichnen wenn es eh (normalerweise) niemant zu Gesicht bekommt?
Wieso sollte der Systemdienst-Desktop auch verschwenderische Auflösungen von 1920*1080 oder ähnliches vorhalten wenn es auch 1024*768 als Minimalanforderung auch tut? Schon mal probiert was passiert wenn du auf dem normalen Desktop große Schriftarten einstellst? Läuft der Systemdienst-Desktop auch mit großer Schriftart oder wird das auch ignoriert? Vermutlich wurde im Rahmen der Performanceoptimierungen der GDI hier die Dienst so optimiert das gar keine Updates/Refresh mehr ausgeführt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 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