Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: Gerstengarbe am 18.06.02 - 13:09:53
-
Hallo Forum,
ich muß in LN 5 ein Mail bauen, das nach Klicken eines Buttons ein File auf dem Rechner des Empfängers löscht. Den Button habe ich soweit...der Kill Befehl funktioniert auch, solange ein fixer Pfad vorgegeben wird.
Nur leider habe ich das Problem, das ich ein Cookie löschen muß, der immer gleich heißt, das Verzeichnis bei Win2000 ändert sich aber im Abhängigkeit vom Benutzernamen in Win2000 ???.
Bsp:
c:\documents\Username\datei.txt
Hat irgendjemand eine Idee, wie ich den sich ändernden Foldernamen berücksichtigen kann?
Danke für die Hilfe.
Nils
-
hi
eine direkte lösung kann ich dir leider nicht bieten , aber ein Workaround vielleicht:
für doch einfach einen DOS-befehl aus der den Usernamen in einer Datei speichert die du dann mit LotusScript ausliest.
Bsp. (unter Windows NT funzt das)
echo %username% > c:\Username.txt
Die Datei öffnest du mit Lotus Script und liest den Namen dann dort aus.
sollte funktionieren. :) :)
Gruß
Achim
-
Hi,
ich denke mal "c:\documents\" ist konstant, ebenso wie der Dateiname. Was dir also noch fehlt, ist der Name des momentan angemeldeten Users.
den kannst du mit ein paar WindowsAPIs leicht ermitteln
In die Declaration deines Buttons kopierst du folgende Zeilen:
Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (Byval lpBuffer As String, nSize As Long) As Long
Declare Function GetLastError Lib "kernel32" () As Long
Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (Byval dwFlags As Long, lpSource As Any, Byval dwMessageId As Long, Byval dwLanguageId As Long, Byval lpBuffer As String, Byval nSize As Long, Arguments As Long) As Long
die folgende Funktion ermittelt dann den (Windows)Usernamen:
Function LNGetUserName() As String
Dim RetUserName As Long
Dim lpUserName As String
Dim nSize As Long
Dim RetLastError As Long
Dim RetVal As Long
Dim lpMessageBuffer As String
Dim varia As String
lpUserName = Space(255)
nSize = Len(lpUserName)
RetUserName = GetUserName(lpUserName, nSize)
If RetUserName <> 0 Then 'UserName ausgeben.
varia = Left(lpUserName, nSize - 1)
Else 'Username nicht verfügbar.
RetLastError = GetLastError()
lpMessageBuffer = Space(255)
nSize = Len(lpMessageBuffer)
RetVal = FormatMessage(0, 0, RetLastError, 0, lpMessageBuffer, nSize, 0)
If RetVal <> 0 Then
varia = "Fehler " & RetLastError & ": " & lpMessageBuffer
Else
varia = "Fehler " & RetLastError & ": kein angemeldeter Benutzer"
End If
End If
LNGetUserName= Trim(varia)
End Function
Jetzt brauchst du den String nur noch zusammenzusetzten und hast deinen Pfad.
eknori