相关疑难解决方法(0)

我应该在哪里存储应用程序特定设置

我被要求更新过去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个问题:

  1. 鉴于所有这些文件夹,我在哪里存储我的设置?
  2. 我假设有一个漂亮的Windows API调用,它会给我这个文件夹的正确位置.我希望它适用于XP和7.我的假设是否正确?如果是这样,将非常感谢链接.

vb6 settings windows-xp windows-7

14
推荐指数
2
解决办法
6235
查看次数

如果 OneDrive 是一个因素,则获取任何用户的桌面路径

我正在尝试在 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)

ms-access vba

2
推荐指数
1
解决办法
983
查看次数

标签 统计

ms-access ×1

settings ×1

vb6 ×1

vba ×1

windows-7 ×1

windows-xp ×1