2011-06-06 129 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))