PureBoard
https://www.purebasic.fr/german/

(WinAPI) TEMP-Pfad ermitteln
https://www.purebasic.fr/german/viewtopic.php?f=9&t=17
Seite 1 von 1

Autor:  Danilo [ 29.08.2004 06:09 ]
Betreff des Beitrags:  (WinAPI) TEMP-Pfad ermitteln

Frage:
Wie kann ich mit PB den Temp-Pfad des OS ermitteln.
Leider ist der Temp-Pfad von Win95 bis XP standardmässig unterschiedlich.

Wer weiß Rat??

Antwort:
Das kannst Du ganz einfach mit einer kleinen Prozedur erledigen:
Code:
Procedure.s GetTempPath()
  A$ = Space(1024)
  GetTempPath_(1024,@A$)
  ProcedureReturn A$
EndProcedure

MessageRequester("INFO","Temp: "+GetTempPath(),0)

Autor:  AND51 [ 10.10.2005 00:45 ]
Betreff des Beitrags: 

Funzt!
Danke!
Aber wieso kommt der Pfad bei mir unter WinXP SP2 noch im 8.3 dateiFormat?
Bei mir siehts so aus:
C:\DOKUME~1\ANDR~1\LOKALE~1\Temp
Geht das nicht auch so:
C:\Dokumente und EInstellungen\André\Lokale Einstellungen\Temp ???
Wäre das nicht besser? Und kompatibel mit Win95 oder Win98 bis WinXP ?

Naja, Gurß AND51

Autor:  AND51 [ 10.10.2005 00:49 ]
Betreff des Beitrags: 

Oder geht das nicht gleich, indem ich die Umgebungsvariable

%TEMP%

benutze?

Autor:  ts-soft [ 10.10.2005 01:14 ]
Betreff des Beitrags: 

Erweiterte Version für AND51:
Code:
Procedure.s GetLongPathName(File.s)
  DLL = OpenLibrary(#PB_Any, "Kernel32.dll")
  If DLL
    CallFunction(DLL,"GetLongPathNameA", @File, @File, #MAX_PATH)
    CloseLibrary(DLL)
    ProcedureReturn File
  EndIf
EndProcedure

Procedure.s GetTempPath()
  A$ = Space(1024)
  GetTempPath_(1024,@A$)
  ProcedureReturn A$
EndProcedure

MessageRequester("INFO","Temp: "+GetLongPathName(GetTempPath()),0)

Oder per %TEMP% :wink:
Code:
Procedure.s GetEnv(szVariable.s)
  Protected Length.l, Buffer.s
  Length = GetEnvironmentVariable_(@szVariable, @Buffer, 0)
  If Length
    Buffer = Space(Length)
    GetEnvironmentVariable_(@szVariable, @Buffer, Length)
    ProcedureReturn Buffer
  EndIf
  ProcedureReturn ""
EndProcedure

MessageRequester("Environment", GetEnv("TEMP"))
was ich aber nicht für so empfehlenswert halte

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/