【发布时间】:2014-06-01 21:41:56
【问题描述】:
我的 Windows 应用程序经常在 *nix 上使用 Wine。
由于它是一个以文件为中心的应用程序,它经常使用(并呈现给用户)Windows“文档”文件夹(使用CSIDL_PERSONAL 解决)。不幸的是,在 Wine 下,它指向通常为空且未使用的虚假 Wine/Windows 目录。我想将用户指向他的 Unix 主文件夹。
有什么可靠的方法可以找到它在 Wine 下的位置吗?
我希望我可以读取 HOME 环境变量,但它没有导出(与大多数其他变量相反)到 Windows 环境。
目前我正在使用Z:\home\%USERNAME% 猜测家庭。但这在我看来并不可靠。
如果找不到主目录,是否至少有一种方法可以检测 Wine 根驱动器(默认为Z:),所以我不需要对路径的驱动器部分进行硬编码?
【问题讨论】:
-
我认为这属于超级用户或linux。
-
我从未尝试过,但我至少会尝试使用 CSIDL_PROFILE 的 SHGetFolderPath。
-
@PressingOnAlways 我很确定我无法从环境(或其他高级用户级界面)中检测到它。所以我希望有一些API。因此它属于这里,afaik。
-
@Martin: CSIDL_PROFILE != CSIDL_PERSONAL。 “我的文档”文件夹没有标准化的 Unix 等价物,但 Unix 上的配置文件目录是 ~。也许它无论如何都会返回一些假目录,但我会试一试(另一种可能性是它返回一个“奇怪”的目录,它实际上是一个指向主目录的符号链接)。
标签: unix wine home-directory