2011-06-06 39 views

回答

7

我相信這是像

Environ("Username")

+2

+1 ......儘管這只是接聽[XY問題]的X(http://www.perlmonks.org/index.pl?node_id=542341) – 2011-06-06 17:36:04

9

不需要用戶名就知道哪個文件夾是應用程序數據文件夾。

您需要使用SHGetFolderPath函數和CSIDL_APPDATA值。

Private Declare Function SHGetFolderPath Lib "shell32.dll" Alias "SHGetFolderPathA" (ByVal hwnd As Long, ByVal csidl As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long 
Private Const CSIDL_APPDATA As Long = &H1A 
Private Const MAX_PATH As Long = 260 

Dim s As String 
s = String$(MAX_PATH, 0) 

SHGetFolderPath 0, CSIDL_APPDATA, 0, 0, s 

MsgBox Left$(s, InStr(1, s, vbNullChar))