请问“我的电脑”是用哪个程序打开的?如何用ShellExcute() 打开“我的电脑”?

coldfire 2001-08-06 04:46:05
我试着用ShellExecute(NULL, NULL, "c:\\windows\\explorer.exe", NULL, NULL, SW_SHOWNORMAL)打开的却是“资源管理器”。

如果想让窗口打开就在“我的电脑”那一层该怎么办呢?
...全文
175 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
SCUM 2001-08-08
  • 打赏
  • 举报
回复
SHGetSpecialFolder(HWND,CSID)

CSID 可能的值有:

CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面desktop
CSIDL_DESKTOPDIRECTORY desktop的目录
CSIDL_DRIVES 我的电脑
CSIDL_FONTS 字体目录
CSIDL_NETHOOD 网上邻居
CSIDL_NETWORK 网上邻居virtual folder
CSIDL_PERSONAL 我的文档
CSIDL_PRINTERS 打印机
CSIDL_PROGRAMS 程序组
CSIDL_RECENT 大多数最近打开的文档列表
CSIDL_SENDTO “发送到”菜单项
CSIDL_STARTMENU 任务条启动菜单项
CSIDL_STARTUP 启动目录
CSIDL_TEMPLATES 临时文档

试试看,应该可以:

LPITEMIDLIST pidl;
LPMALLOC pShellMalloc;
char szDir[MAX_PATH];

if(SUCCEEDED(SHGetMalloc(&pShellMalloc)))
{
if(SUCCEEDED(SHGetSpecialFolderLocation(NULL,
CSIDL_FONTS,
&pidl)))
{
// 如果成功返回true
if(SHGetPathFromIDList(pidl, szDir))
{
Label1->Caption = szDir;
}

pShellMalloc->Free(pidl);
}

pShellMalloc->Release();
}




coldfire 2001-08-08
  • 打赏
  • 举报
回复
收到。3Q
SCUM 2001-08-08
  • 打赏
  • 举报
回复
发了些 去收吧
coldfire 2001-08-08
  • 打赏
  • 举报
回复
谢谢你。
但是我没有MSDN光盘,都是在公司上网到微软的MSDN网站上去看的,可是我要查SHGetSpecialFolderLocation函数时得到如下信息:
Page Cannot Be Found

We apologize for any inconvenience, but we have recently redesigned our site, and the page you’re seeking has been either moved or retired. For more information on the updates we've made to MSDN, please read our editor's note.

看来我得赶快去弄一套MSDN光盘了。

你能不能先把有关的几个函数帮助文档mail给我 dryfish@cellink.com.cn

不管怎么样都很感谢你。
tinyghost 2001-08-06
  • 打赏
  • 举报
回复
关注!

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧