Autor Beitrag
Matzell
Hält's aus hier
Beiträge: 2

XP, OS X

BeitragVerfasst: Mo 14.08.06 14:18 
Hallo!

Habe folgendes Problem:

Ich baue eine Prozedur dir mir alle möglichen Systeminformationen anzeigt (Windows Version, DB-Treiber, Hardware Infos, Login, usw.). Dazu brauche ich die Information, ob die Exe lokal, direkt auf einem Terminal-Server oder über eine Terminal-Server-Session läuft!

Weiß jemand, wie ich an diese Infos komme? (Über API oder durch die Registry?)
Ich habe schon alles durchsucht, aber komme nicht weiter.

(An die anderen Infos komme ich über die Jedi 3.1 Komponente JvComputerInfoEx.)

Danke schon mal an jeder Helfer!

Matzell
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 18.08.06 02:08 
Dazu musst Du abfragen, wer die aktuelle Login-Session initiiert hat und diesen Namen (User+Host) auf <> LocalHost abfragen. Bin mir da aber nicht sicher, wie das ganz genau in der API dann aussieht ...

BTW: Findest Du nicht, dass solch eine "Prozedur" ein wenig sinnlos ist, wenn man diese nicht einem gewissen Zweck zuführt? Und außerdem: Mit Hilfe dieser Kompo das zusammenbauen kann das jeder.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Matzell Threadstarter
Hält's aus hier
Beiträge: 2

XP, OS X

BeitragVerfasst: Fr 18.08.06 09:46 
Danke; aber ich habe einen anderen Weg gefunden!

In der Registry unter 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductSuite' steht ggf Terminal Server drin oder eben nicht!

Ob ein Remotezugriff besteht kann man mit folgender Weise abfragen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
 function IsRemoteSession: Boolean;
  const
    sm_RemoteSession = $1000;
  begin
    Result := GetSystemMetrics(sm_RemoteSession) <> 0;
  end;


Trotzdem danke für die Hilfe!

@BenBE : Es hat schon Gründe, dass es eine Prozedur ist und sinn macht es auch, sonst würde ich sie nicht schreiben. Mir stehen nun mal sehr viele Komponenten zur Verfügung. Da wäre ich ja schon mächtig blöd, wenn ich diese nicht nutzen würde!