c++ - ShellExecute无法在Windows XP中打开特殊文件夹?

标签 c++ c

我有路
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\\\\\\?\\usb#vid_12d1&pid_1052&mi_00#6&eb604e2&1&0000#{6ac27878-a6fa-4155-ba85-f98f491d4f33},我使用ShellExecute来打开它,如下所示:

//lp is the path above
ShellExecute(NULL, L"open", lp, NULL, NULL, SW_SHOWNORMAL);


我在Windows XP中遇到了最后一个错误ERROR_NO_ASSOCIATION,但是我在win7中使用了它,它非常完美。

那为什么ShellExecute在XP中不起作用?如果我使用Windows XP exeplorer打开路径,也可以,那么我的代码有什么问题?谢谢。

最佳答案

ShellExecute有点陈旧,总是很虚弱。请尝试这种方式。

ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "explorer.exe";
info.Arguments = lp;
Process.Start(info);

关于c++ - ShellExecute无法在Windows XP中打开特殊文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332449/

相关文章:

c++ - 在简单的 C++ OpenCV 项目中使用 pthread

C++ 通过引用传递 : error: no matching function for call

c++ - 在函数签名中一起使用 * 和 &

c - 用 C 语言编写 Makefile

c - C 中 union 内的结构

c - 使用三元运算符作为占位符

c++ - 删除链接列表的项目时出现段错误

c++ - 为什么数据成员不继承菱形继承(钻石问题)c++

c - 为什么 Frama-C 的这个使用 scanf() 的程序的依赖图看起来像这样?

java - 算法,从包含 n 个元素的列表中查找组合