ist Anwendung im Remote gestartet? [ERLEDIGT]

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Antworten
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von Rolf »

Hallo

Über die Remote Desktop Verbindung (RDP) von WinXp komme ich auf einen anderen Rechner, dort wird die Xbase Anwendung gestartet.

Wie kann die Anwendung nun herausfinden, ob sie über den Remote gestartet wurde und nicht lokal läuft?

Es werden ja, wenn eingestellt auch die Drucker und die Verzeichnisse gemapppt.
Gibt es eine elegantere Lösung als nach dem Drucker "Printer (von PC)" zu suchen?

Liebe Grüße
Rolf
Zuletzt geändert von Rolf am Do, 22. Okt 2009 11:58, insgesamt 1-mal geändert.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: ist Anwendung im Remote gestartet?

Beitrag von Wolfgang Ciriack »

Wie kann die Anwendung nun herausfinden, ob sie über den Remote gestartet wurde und nicht lokal läuft?
Es gibt eine Umgebungsvariable "SESSIONNAME", die ist bei einer RDP-Verbindung z.B. als "RDP-TCP#18" gesetzt, sonst ist sie "CONSOLE" gesetzt.
Viele Grüße
Wolfgang
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Re: ist Anwendung im Remote gestartet?

Beitrag von Rolf »

Hallo Wolfgang

Ich bin drüber gestolpert das SESSIONNAME erst ab WinXP funktioniert bei Win2000 kommt ein Leerstring zurück.

Außerdem erhalte ich immer nur "Console" als Antwort. Warum, Hm?? :?

Nachtrag: http://support.microsoft.com/kb/971165/de
da ist das Hotfix beschrieben für echo %CLIENTNAME% zwar, aber scheint das selbe Problem zu sein.

Wenn man in de CMD einfach SET eingibt werden alle Umgebungsvariablen aufgelistet, aber ich finde da keinen weiteren Unterschied als SESSIONNAME und CLIENTNAME.

Ein Unterschied bie den laufenden Programmen ist, dass im Remote die rdpClip.exe für die Zwischenablagenverwaltung läuft.

Danke Wolfgang für deine Hilfe
Grüß Rolf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von brandelh »

Hi,

da man die SET Werte leicht manipulieren kann und ich mir sicher war, das schon mal gesehen zu haben ...

Code: Alles auswählen

%SM_REMOTESESSION = 4096    '&H1000
nRet = GetSystemMetrics(%SM_REMOTESESSION)
so sieht das Beispiel in PowerBasic aus. Nun muss man nur noch übersetzten ;-)
hier stehen weitere Beispiele für Parameter und die Erklärung der Funktion:

http://msdn.microsoft.com/en-us/library ... 85%29.aspx

So sollte es gehen ...

Code: Alles auswählen

#define SM_REMOTESESSION  4096 // H1000
nRet = GetSystemMetrics(SM_REMOTESESSION)
DLLFUNCTION GetSystemMetrics(nIndex) ; 
      USING STDCALL FROM USER32.DLL
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von brandelh »

Der Rückgabewert ist 0 oder ungleich 0, nur was jetzt was bedeutet, das weiß ich im Moment auch nicht :-)
Gruß
Hubert
Rolf
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 258
Registriert: Do, 27. Apr 2006 12:28
Wohnort: Görlitz

Re: ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von Rolf »

Vielen Dank Hubert
das scheint die beste Lösung zu sein

Ich hatte jetzt kurzzeitig die Druckersuche drin, hat auch funktioniert, da es uns hauptsächlich ums Drucken ging. Aber wenn der Hacken bei Lokale Ressourcen in den Remoteinstellung fehlt, oder kein Drucker installiert ist würde es mit unserer Methode scheitern.

1=.T. Remote-Sitzung
0=.F. Lokale Sitzung

Vielen Dank
Grüße Rolf
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9357
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von Tom »

Ab damit in die Wissensbasis.
Herzlich,
Tom
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: ist Anwendung im Remote gestartet? [ERLEDIGT]

Beitrag von brandelh »

Yess SIR :!: :D
Gruß
Hubert
Antworten