找回密码
 加入
搜索
查看: 27101|回复: 31

[原创] 可以在 Windows 和 WinPE 系统环境下查看隐藏分区的代码

 火... [复制链接]
发表于 2009-11-7 22:46:00 | 显示全部楼层 |阅读模式
本帖最后由 ahkang 于 2009-11-8 11:24 编辑

发一个可段可以在 Windows 和 WinPE 系统环境下查看隐藏分区的代码:
#InClude <Process.Au3>

Global $DosTool=@SystemDir&'\DsptW.eXe'
Global $ParVol=@TempDir&'\ParVol.InI'
Global $IniFile=@TempDir&'\DskVol.InI'
Global $VolInfo=@TempDir&'\VolInfo.InI'
Global $Vol=@TempDir&'\PartInfo.InI'
Global $ShowDrive=@SystemDir&'\ShowDrive.eXe'
Global $ComLine=$DosTool&' /A /Pdr >'&$IniFile

If Not FileExists($ShowDrive) Then FileInstall('ShowDrive.Vxd',$ShowDrive,1)
_RunDOS($ShowDrive)
If FileExists($VolInfo) Then FileDelete($VolInfo)
If Not FileExists($DosTool) Then FileInstall('DsptW.Vxd',$DosTool,1)
        _RunDOS($ComLine)
        FileSetAttrib($IniFile,'+Sh')

For $i=3 To 26
        $ReadFile=FileReadLine($IniFile,$i)
        If $ReadFile='' Then ExitLoop
        If StringMid($ReadFile,4,1)<>2 Then
                $StrExt=StringReplace($ReadFile,':        ','=')
                FileWrite($VolInfo,StringLeft($StrExt,9))
                FileWriteLine($VolInfo,'')
        ElseIf StringLeft($ReadFile,4)=2 Then
                $ReadFile=FileReadLine($IniFile,$i+1)
                FileWrite($VolInfo,StringLeft($StrExt,9))
        EndIf
Next
        FileSetAttrib($VolInfo,'+RSh')

        FileSetAttrib($IniFile,'-RSh')
        FileDelete($IniFile)
        
        $DiskInfo=FileRead($VolInfo)
        FileSetAttrib($VolInfo,'-RSh')
        FileDelete($VolInfo)

        MsgBox(262144,'',$DiskInfo)
其中所涉及的文件在附件里:
声明:Dsptw 下载于 【中国DOS联盟论坛】;ShowDrive (由无忧启动论坛 123 mm 大侠编写) 下载于 【无忧启动论坛】。版权归原作者所有!
    这段代码中,除了使用 ShowDrive 来查看隐藏分区以外,还借助 Dsptw 来分别判断第 1 硬盘活动分区和最后分区;有关系统备份/还原程序可能用得着。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +50 贡献 +25 收起 理由
lynfr8 + 50 + 25 精品文章

查看全部评分

发表于 2009-11-8 00:01:05 | 显示全部楼层
哈,这两天正在研究关于隐藏分区的东东,顶了。
发表于 2009-12-28 10:17:11 | 显示全部楼层
谢谢了,正准备整个备份工具呢
发表于 2010-1-8 16:17:07 | 显示全部楼层
在我的V64 上显示的是空白。不知道是什么原因。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-1-19 23:28:46 | 显示全部楼层
在我的V64 上显示的是空白。不知道是什么原因。
weizhangya 发表于 2010-1-8 16:17



    仅在 Windows XP / 2003 环境下测试通过,没试过其他高版本操作系统,也许是需要调用的程序暂不支持 Vista 吧?按说 Au3 已经支持 64 位操作系统了,或许 32 位可以通过也难说……总之,猜想罢了,反正没试过。
发表于 2010-1-28 14:08:05 | 显示全部楼层
下载收藏 了
发表于 2010-1-30 00:55:06 | 显示全部楼层
这东西貌似不支持64位吧?
 楼主| 发表于 2010-2-4 01:21:37 | 显示全部楼层
因为无忧论坛上的123mm高手在编写工具时尚未普及64位操作系统,因此能否支持64位还得看她是否再改进了,本人仅借用而已,没什么技术含量。后来仿照深度小兵的效果写了一个判断第1硬盘最后分区的工具,同样也沿用了显示隐藏分区的功能。有兴趣的可以在论坛的“搜索”中输入“硬盘”关键词搜索一下。

干脆直接贴链接得喽:

http://www.autoitx.com/forum.php ... B2%C5%CC&page=2
发表于 2010-2-27 12:38:31 | 显示全部楼层
怎么下不了呀?????????
发表于 2010-2-27 12:41:51 | 显示全部楼层
都不知道到底扣了多少钱了!
发表于 2010-7-3 01:49:29 | 显示全部楼层
以后装品牌机又方便了很多,谢谢哩
发表于 2011-2-3 14:41:00 | 显示全部楼层
下载了,学习
发表于 2011-4-27 20:07:04 | 显示全部楼层
好东西,谢谢楼主分享
发表于 2011-4-30 09:06:33 | 显示全部楼层
好东西,谢谢
发表于 2011-8-2 09:19:08 | 显示全部楼层
最近正在研究呢  正好有现成的了  哈哈
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-24 22:14 , Processed in 0.078870 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表