获取U盘盘符

冰杰007 2008-11-18 02:40:36
在WINCE中样获取U盘的盘符,在XP下可以通过DriveInfo获取尤盘信息,杂WINCE下该怎么获取呢?
当U盘插入时获取U盘的盘符?
...全文
835 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
elebin 2011-07-07
  • 打赏
  • 举报
回复
同在学习
红牛哥110 2008-12-31
  • 打赏
  • 举报
回复
楼上的别乱说,谁说不支持的
singlerace 2008-12-29
  • 打赏
  • 举报
回复
WINCE不支持WM_DEVICECHANGE。你可以用RequestDeviceNotifications(&FATFS_MOUNT_GUID,...)去等待FAT文件系统事件,插拔U盘时你的程序会收到这个事件,里面有U盘路径。
hwr2008 2008-12-26
  • 打赏
  • 举报
回复
这个是根据BSP的主语言选择的,如果你默认的是英文系统,那么他的符就是"hard disk"
如果是中文就是"硬盘".

你要根据你的默认语言去更改.
查找盘符,把它替换掉就可以了.
Seven_zhangxw 2008-12-25
  • 打赏
  • 举报
回复
怎么修改这个"hard disk" 或者"硬盘"啊?
这个名字在reginit.ini文件里面,
; @CESYSGEN IF CE_MODULES_USBDISK6
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\USBHDProfile]
"Name"="USB Hard Disk Drive"
"Folder"="硬盘"


我把这个 "Folder"="硬盘" 改成 "Folder"="HDISK"
makeimg后,它又恢复了原型。
从哪里可以修改这个这个盘符名称啊?


谢谢了

wb_sxck 2008-12-12
  • 打赏
  • 举报
回复
91program说的对,在profiles下
可以先用FindFirstStore函数找到设备名。
再匹配键值下的Name,Folder就是盘符。
xumercury 2008-12-11
  • 打赏
  • 举报
回复
盘符要在注册表里定义的。。。。还有个问题。。。你一定要是HOST USB。。。要不然也难弄。。
hwr2008 2008-12-11
  • 打赏
  • 举报
回复
switch(message)
{
case WM_DEVICECHANGE:
switch (wParam)
{
case DBT_DEVICEARRIVAL: //设备插进来
{
PDEV_BROADCAST_VOLUME dbvDev = (PDEV_BROADCAST_VOLUME)lParam;
//DEV_BROADCAST_HDR* dhr = (DEV_BROADCAST_HDR *)lParam;
//PDEV_BROADCAST_PORT lpdbp = (PDEV_BROADCAST_PORT)dhr;
if( dbvDev->dbcv_devicetype == DBT_DEVTYP_PORT )
{
//this->PostMessage(WM_TIMER,(WPARAM)R_TimeIndex,0);
//if ( wcsicmp(lpdbp->dbcp_name, TCH_PATH3) == 0 ) //盘符,自己断点看看,我们是CF卡
//{
//}
}
//CeSetUserNotification()
}
break;

case DBT_DEVICEREMOVECOMPLETE: //设备盘拔出
{
//AfxMessageBox(L"U OUT",MB_OK);
}
break;

default:

break;
}
break;
}
Seven_zhangxw 2008-12-10
  • 打赏
  • 举报
回复
我也在关注这个问题,U盘插进去,出现了harddisk,但是我代码没有办法访问它,不知道open()什么才可以。。。
学习了
xqhrs232 2008-12-07
  • 打赏
  • 举报
回复
注册表里面有的,可以对注册表进行读取得到,看编译的INITREG。INI文件也可以看到!
flyaqiao 2008-12-07
  • 打赏
  • 举报
回复
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("System\\StorageManager\\Profiles\\USBHDProfile"), 0, 0, &hSoftKey) == ERROR_SUCCESS)
{
const TCHAR tmpStr[] = _T("U盘");
RegSetValue(hSoftKey, _T("Folder"), REG_SZ, tmpStr, sizeof(tmpStr));
RegCloseKey(hSoftKey);
}
guopeixin 2008-11-20
  • 打赏
  • 举报
回复
11111111111111111111111111111
constantine 2008-11-18
  • 打赏
  • 举报
回复
那个名字注册表里面读就有了,不过我指的是默认第一个的名字,后面的名字要在后面加数字。
HKEY_LOCAL_MACHINE\System\StorageManager\Profiles
好像在这个路径下面,具体位置忘记了,你可以用远程注册表工具连进入找找。
我手头没有平台
冰杰007 2008-11-18
  • 打赏
  • 举报
回复
就是U盘的名字,我说法有问题
91program 2008-11-18
  • 打赏
  • 举报
回复
CE下,有盘符吗?

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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