Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#10

Re: Tray Icon, Service und Vista

  Alt 14. Mär 2007, 18:22
ich kann mich noch dunkel erinnern, wie es UltraVNC macht.

1. Service installieren (TCB) und Thread erstellen
2. Eingabedesktop suchen (OpenInputDesktop) und für Thread setzen (SetThreadDesktop)
3. GetPixel(GetDC(Null)) verwenden um Pixel zu lesen.

Problem : Funktioniert nicht mehr unter Vista, weil SystemDienste nun in einer eigenen Session 0 (nicht interaktiv) laufen.
Was kann man machen?

A. Mirror Treiber
B. Über Einschleussen von Prozessen in die interaktive Sitzung (für jeden Desktop, auch wenn er später erstellt wird)
Kommunikation über Pipes, Shared Memory, Sockets oder RPC.

Keine Gewähr zur Funktion!

P.S.
Ich frage mich gerade, ob mit Session, LogonSession gemeint ist oder WinStation oder was anderes?
Kennt jemand eine grafische Darstellung, wie Sessions (evt. LogonSessions), WinStation und Desktops in Beziehung stehen?

Zu B.
Wenn Session = LogonSession könnte man ja auch einen Thread in die Session 1 oder höher impersonieren, und damit auf den Desktop zugreifen können.
siehe diesen MSDN Artikel zu FUS
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat