Hallo Rainer,
Du brauchst keinen Zugriff auf LoginScripte & Co. Es zwar in KIX umgesetzt, ja, aber die entscheidenen Infomationen liefert DOS. Ich versuche noch mal kurz zu erklären, was Du tun mußt bzw was die Funktion GetClientNamen tut . Du mußt also "nur" die Aufruf aus LotusScript heraus realisieren (z. B. mit Execute o.ä.), aber dafür Bestand hier noch keine Bedarf - ich darf ja KIX ;D
Vielleicht hilft Dir das weiter:
shell 'cmd.exe /c $ToolPfad\wfcinfo >$TempDatei'
WFCInfo = Citrix-Tool.
Kommt mit der Citrix-Installation. Liefert Sitzungsdaten, u. a. auch die IP-Adresse des "echten" Clients.
$ClientIP = ReadProfileString($tempDatei, 'WFClient', 'WFClientAddress')
Die Ausgabe von wfcinfo in eine Datei umlenken. Kann genutzt werden wie eine Windows-INI-Datei. Hier im Forum gibt es Beispiele, wie der Zugriff von LS auf die Windows-API genutzt werden. Oder auslesen der IP-Adresse selber realisieren.
shell 'cmd.exe /c ping.exe -a $ClientIP -n 1 | find "[$ClientIP]" >>$TempDatei'
Und mit dieser gewonnenen Information per DOS den Namen des Clients ermitteln. Ausgabe wird wieder in eine Datei umgelenkt und ausgelesen. Zwecks Verwertbarkeit habe ich zuvor dafür gesorgt, dass meine Ausgabedatei wie eine INI-Datei behandelt werden kann.
; Client-IP-Adresse ermitteln
$ClientIP = ReadProfileString($tempDatei, 'WFClient', 'WFClientAddress')
$rc = ReDirectOutput("$TempDatei")
? 'Ping='
$rc = ReDirectOutput("")
Viel Erfolg
Markus
Ach so:
Die Funktion GetIcaClientInfo (...) brauchst Du für Deine Zwecke nicht. Habe noch mal nachgeschaut. Irgandwann & Irgendwo mußte ich auch mal wissen, welche Published Application gerade gestartet wird. Mit dieser Funktion kannst Du also mehr über die Sitzung erfahren. Die möglichen Werte sind als Kommentar in der Funktion.
Der entscheidene Aufruf ist allerdings auch wieder "nur" DOS, also auch nachbaubar ....
nochmal ich
Vielleicht gibt es ja ein Verzeichnis auf den TS, wo Du die kix32.exe hinlegen kannst (KIX benötigt keine Installation). Dann kannst Du das KIX-Script nahezu 1:1 übernehmen. Du mußt dann nur noch
1. per LS-Script für den Aufruf sorgen
sProgrammAufruf = "c:\windows\system32\kix32.exe c:\temp\WerBinIch.kix"
tmpVariant = Shell ( sProgrammAufruf, 6 ) ' SHELL_MIN_NO_FOCUS
2. im KIX-Script (am Ende) das Ergebnis in eine Datei umleiten
$TempDatei = "c:\temp\WerBinIch.rc"
$rc = ReDirectOutput("$TempDatei")
? $ClientName
$rc = ReDirectOutput("")
3. per LS die Ergebnisdatei lesen