我被要求更新过去6年一直在WinXP上运行的VB6应用程序.客户端想要使用Windows 7.到目前为止,应用程序将其设置存储在位于应用程序目录中的INI文件中.XP和7之间的一个关键区别是你不能再写C:\Program Files\AppFolder了.
我试图找出文件系统应该存储设置的位置?鉴于应用程序仍然需要在WinXP上运行,我有点困惑.
在WinXP上,我有以下内容:
C:\Documents and Settings\profilename\Application Data
C:\Documents and Settings\profilename\Local Settings\Application Data
Run Code Online (Sandbox Code Playgroud)
在Windows 7上,我有以下内容:
C:\Users\profilename\AppData\Local
C:\Users\profilename\AppData\LocalLow
C:\Users\profilename\AppData\Roaming
Run Code Online (Sandbox Code Playgroud)
这些文件夹中的每一个都有子文件夹,似乎存储各种产品的设置/文件
那2个问题:
我正在尝试在 OneDrive 可能是一个因素的情况下获取桌面路径。其他更简单的方法,如 Environ$("UserProfile") & "/Desktop" 不起作用。这是我在模块中尝试过的:
Option Compare Database
Option Explicit
Private Declare PtrSafe Function SHGetKnownFolderPath Lib "shell32.dll" _
(ByRef rfid As GUID, dwFlags As Long, hToken As Long, ByRef pszPath As Long) As Long
Private Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(0 To 7) As Byte
End …Run Code Online (Sandbox Code Playgroud)