在Windows资源管理器中打开Public Documents文件夹

问题描述 投票:1回答:3

我需要在Windows资源管理器窗口中打开以下文件

C:\用户\公用\文件\文件夹1 \ test.txt的

到目前为止,使用上述路径打开此文件很好,我可以像往常一样阅读它。

但是,当尝试使用wxExecute((wxChar **)cmd, wxEXEC_ASYNC, NULL);通过Windows资源管理器打开此文件夹时,其中cmd是上面的路径(减去文件),它会打开我的用户文档。

我已经尝试了各种Windows API函数来获取路径,其中一些包括Public Documents拥有自己的ID,这些仍然生成我已经拥有的路径。我是否可以为Windows资源管理器提供任何CLI选项,以便它可以实际打开公共文档而无需还原到我的用户文档文件夹?

c++ windows windows-10 wxwidgets
3个回答
1
投票

首先,你为什么把你的字符串转换为wxChar**?这不可能是正确的。

其次,你应该首先使用wxLaunchDefaultApplication()而不是“raw”wxExecute()(FWIW wxLaunchDefaultApplication()是MSW下ShellExecute()的直接包装,而wxExecute()要复杂得多)。


1
投票

它没有文档,但已经跨多个Windows版本工作,因为至少XP使用以下命令行:

explorer.exe /select,"path-to-open"

记下逗号,并确保引用路径。该路径可以包括文件名,在这种情况下该文件被选中。

(对于Windows 10,使用文件名实际上是个好主意,否则打开父文件夹时会选择指定的子文件夹)

应与CreateProcessShellExecutesystem()相同,或wxWidgets提供的任何舒适度。


0
投票

实际上结果是来自wxWidgets的wxExec的一个问题。将命令转换为ShellExecute就可以了。潜在的Widgets 2.9.5无法处理Windows 10的伪文件夹和怪异吗?

© www.soinside.com 2019 - 2024. All rights reserved.