怎样实现如打开文件对话框中的驱动器列表(不用ActiveX控件)?

etoy 2000-08-03 08:59:00
...全文
121 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiujoe 2000-08-05
  • 打赏
  • 举报
回复
还可以用DlgDirList()等函数。
kinghan 2000-08-04
  • 打赏
  • 举报
回复
仅仅是驱动器?还是需要带路径的?需要的话可以mailto: kinghan@sina.com
文晓经 2000-08-04
  • 打赏
  • 举报
回复
请使用API 函数
UINT GetDriveType(
LPCTSTR lpRootPathName // pointer to root path
);
方法:
定义一个字符串数组,值为"A:"-"Z",然后带入函数穷举,根据返回值可判断出是什么驱动器。

wdf1 2000-08-04
  • 打赏
  • 举报
回复

该问题刚刚解决:

http://expert.csdn.net/TopicView.asp?id=23343

wdf1 2000-08-04
  • 打赏
  • 举报
回复
m_Path是一个自定义的变量。
我给你的程序有一定的问题,要改成
BROWSEINFO bi;
char path[MAX_PATH]={"Temp"};
bi.hwndOwner =m_hWnd;
bi.lpszTitle ="请选择一个目录,该目录是你将要保存数据文件的目录。";
bi.pszDisplayName =path;
bi.ulFlags =BIF_RETURNONLYFSDIRS;//BIF_BROWSEFORCOMPUTER ;
// bi.lpfn =BrowseCallbackProc;
bi.pidlRoot =NULL;
bi.lParam =124;
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl)
{
char path[MAX_PATH];
SHGetPathFromIDList(pidl, buff);
m_Path =path;
LPMALLOC malloc;
if (SHGetMalloc(&malloc) == NOERROR)
malloc->Free(pidl);
return 0;
}
breath 2000-08-03
  • 打赏
  • 举报
回复
在CSDN的例子中就有,实在找不到给我发EMAIL,breath@china.com

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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