AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Desktop Handle für Admin-Systemdienst ermitteln (Windows 7)
Thema durchsuchen
Ansicht
Themen-Optionen

Desktop Handle für Admin-Systemdienst ermitteln (Windows 7)

Ein Thema von Mavarik · begonnen am 13. Nov 2009 · letzter Beitrag vom 16. Nov 2009
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#1

Desktop Handle für Admin-Systemdienst ermitteln (Windows 7)

  Alt 13. Nov 2009, 08:19
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:22
Zitat von Mavarik:
Hierfür habe ich funktionierende Routienen die einwandfrei unter Vista funktionieren...
Und welche Sind das? Wenn Du diese hier zeigst können wir dir evtl. sagen was für Probleme damit zu erwarten sind.
Evtl. wurde ja eine potentielle Sicherheitslücke geschlossen ohne das diese auch für Vista behoben wurde.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:28
Ich habe den Source gekauf und der jenige wäre sicherlich nicht so erbaut, wenn ich den Source hier veröffentliche...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#4

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:38
Gibt es denn keine Hilfe von dem Verkäufer?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:51
Zitat von himitsu:
Gibt es denn keine Hilfe von dem Verkäufer?
Der Verkäufer hat noch kein Windows 7...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:52
Zitat von Mavarik:
Ich habe den Source gekauf und der jenige wäre sicherlich nicht so erbaut, wenn ich den Source hier veröffentliche...
Ok, dann ist es aber primär dessen Aufgabe dir eine Lösung anzubieten (wir können dann hier nur die Glaskugel auspacken). Oder versagt dieser an Windows 7?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 08:57
Zitat von Bernhard Geyer:
Ok, dann ist es aber primär dessen Aufgabe dir eine Lösung anzubieten (wir können dann hier nur die Glaskugel auspacken). Oder versagt dieser an Windows 7?
Ja das hilft mir jetzt leider auch nicht weiter...
Das übliche Verfahren hat ja sicherlich jeder schon mal programmiert...
Und für Win 7 muss da ein "Trick" fehlen...

Delphi-Quellcode:
    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;
Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#8

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 09:11
Geht das nicht auch schon in diese Richtung?
http://www.delphipraxis.net/internal...100288#1100288

Hast du dir auch schon die ganzen Rückgabewerte von GetDesktopWindow, GetWindowDC und BitBlt angesehn?
Result und vorallem GetLastError.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.142 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 09:47
Zitat von himitsu:
Geht das nicht auch schon in diese Richtung?
http://www.delphipraxis.net/internal...100288#1100288
Das geht so gar ziemlich genau in diese Richtung...

Zitat von himitsu:
Hast du dir auch schon die ganzen Rückgabewerte von GetDesktopWindow, GetWindowDC und BitBlt angesehn?
Result und vorallem GetLastError.
Ja alle Funktionen liefern prima ein Handle und GetLasterror = 0.
So funktioniert es ja auch unter Vista... Hatte ich das schon gesagt. lol

Vielleicht liegt es an der Kombination der Flags... ich werde mal etwas rumspielen...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Desktop Handle für Admin-Systemdienst ermitteln (Windows

  Alt 13. Nov 2009, 09:54
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.
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