电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

根据驱动器盘符获得分区号VIP专享VIP免费

根据驱动器盘符获得分区号_第1页
根据驱动器盘符获得分区号_第2页
根据驱动器盘符获得分区号_第3页
白水绕东城Zhong'sBlog博客首页空间博客好友相册留言用户操作[留言][发消息][加为好友]订阅我的博客felixz的公告用Gtalk和我交谈

_uacct="UA-292248-3";urchinTracker();文章分类.netcodeC++BuilderetcLinuxPhilosophicSymbianwin32codewin32driverMyPagesGoogleAnalyticshotmailmobilemyflickrReactOS存档2008年04月(1)2008年03月(1)2007年09月(1)2007年06月(6)2007年05月(5)2007年03月(3)2006年10月(3)2006年08月(2)2006年07月(3)2006年06月(4)2006年05月(10)根据驱动器盘符获得分区号(ConvertDriverNametoPartitionNumber)收藏程序里有自动重启Windows系统的功能,当有多个Windows共存的时候C:根目录下的boot.ini文件包含类似下面的内容:[bootloader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)\WINNT[operatingsystems]multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows2000Professional"multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="WindowsXPProfessional"/fastdetect我们会判断当前系统所在的驱动器,然后改写boot.ini中的default值,以使得程序重启系统后进入当前启动的操作系统。例如在拥有以上boot.ini的系统上,用户手工从操作系统列表选择了启动处于partition(2)上的WindowsXP,如果我们不作任何修改的重启系统,那么重启以后将进入当前的缺省操作系统Windows2000而不是先前启动的WindowsXP。GetSystemDirectory()可以获得当前操作系统所在目录。开始我们想当然的将盘符和分区作了以下映射C:->partition(1)D:->partition(2)E:->partition(3).......后来这里被Report了一个Bug,在Dell600m笔记本电脑上,单一操作系统,我们的程序无法正常重启系统。检查后发现这个型号的笔记本电脑有一个隐藏分区,而C:则是partition(2)。我们必须寻找一个途径将驱动器号转换成分区号。查阅MSDN后得知标准Win32API的解决方法,简单范例:#include#include#include#include#include//RequiredtoensurecorrectPhysicalDriveIOCTLstructuresetup#pragmapack(1)intmain(intargc,char**argv){HANDLEhDrv=CreateFile("\\\\.\\C:",GENERIC_READ,//ReadonlytothedriveFILE_SHARE_READ|//sharemodeFILE_SHARE_WRITE,NULL,//defaultsecurityattributesOPEN_EXISTING,//disposition0,//fileattributesNULL);if(!hDrv){cout<<"ErrorCannotopentheDriver"<>热门招聘职位【更多】

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部