无忧启动论坛

标题: Gpt/Fdd/Mbr硬盘格式判断小插件 [打印本页]

作者: xuxianzhao    时间: 2022-5-28 22:43
标题: Gpt/Fdd/Mbr硬盘格式判断小插件
本帖最后由 xuxianzhao 于 2022-5-28 22:52 编辑

作用:
Gpt/Fdd/Mbr硬盘格式判断
使用方法:
JudgeGpt.exe+硬盘序号
bug反馈交流群:863599045

Y})_}G~B0[E(G4@5Z8E4~LG.png (5.08 KB, 下载次数: 128)

Y})_}G~B0[E(G4@5Z8E4~LG.png

附件.rar

355.65 KB, 下载次数: 66, 下载积分: 无忧币 -2


作者: chg008    时间: 2022-5-29 00:15
这个看不懂啊?
作者: xuxianzhao    时间: 2022-5-29 00:19
chg008 发表于 2022-5-29 00:15
这个看不懂啊?

就是判断硬盘格式的一个小插件  有些人能用的到  单独的话可能没什么用
作者: 2012jiashanni    时间: 2022-5-29 00:45
本帖最后由 2012jiashanni 于 2022-5-29 00:47 编辑

点赞
作者: 2012jiashanni    时间: 2022-5-29 00:57
Func _GetDrivePartitionStyle($sDrive)
        Local $tDriveLayout = DllStructCreate('dword PartitionStyle;' & _
                        'dword PartitionCount;' & _
                        'byte union[40];' & _
                        'byte PartitionEntry[8192]')
        Local $hDrive = DllCall("kernel32.dll", "handle", "CreateFileW", _
                        "wstr", "\\.\" & $sDrive, _
                        "dword", 0, _
                        "dword", 0, _
                        "ptr", 0, _
                        "dword", 3, _ ; OPEN_EXISTING
                        "dword", 0, _
                        "ptr", 0)
        If @error Or $hDrive[0] = Ptr(-1) Then Return SetError(@error, @extended, 0) ; INVALID_HANDLE_VALUE
        DllCall("kernel32.dll", "int", "DeviceIoControl", _
                        "hwnd", $hDrive[0], _
                        "dword", 0x00070050, _
                        "ptr", 0, _
                        "dword", 0, _
                        "ptr", DllStructGetPtr($tDriveLayout), _
                        "dword", DllStructGetSize($tDriveLayout), _
                        "dword*", 0, _
                        "ptr", 0)
        DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hDrive[0])
        Switch DllStructGetData($tDriveLayout, "PartitionStyle")
                Case 0
                        Return "MBR"
                Case 1
                        Return "GPT"
                Case 2
                        Return "RAW"
                Case Else
                        Return "UNKNOWN"
        EndSwitch
作者: liuzhaoyzz    时间: 2022-5-29 07:37
想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。
作者: 826773297    时间: 2022-5-29 10:09
PECMD代码即可

  1. _SUB 分区类型
  2. PART -devid list disk %1,&&iDskInf
  3. MSTR &&Mbr=<10>%&iDskInf%
  4. MESS %&Mbr%
  5. _END
  6. 分区类型 0
复制代码

作者: 826773297    时间: 2022-5-29 10:10
0就是第一个硬盘,1是第二个硬盘
作者: xuxianzhao    时间: 2022-5-29 11:21
还是你们的方法好呀
作者: xuxianzhao    时间: 2022-5-29 11:39
liuzhaoyzz 发表于 2022-5-29 07:37
想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。

最好使用硬盘序号吧  这个也不难获取  我再改进一下也行
作者: xuziyi    时间: 2022-5-29 13:51
chg008 发表于 2022-5-29 00:15
这个看不懂啊?

写批处理时就可以根据此插件的输出内容判断启动方式
作者: chg008    时间: 2022-5-29 15:58
都是高手啊,膜拜
作者: 盛大网络    时间: 2022-5-29 22:23
还不错
作者: zyy    时间: 2022-7-3 22:37
谢谢分享
作者: hua_giang    时间: 2022-7-6 12:18
good
作者: nowayer    时间: 2023-11-2 23:55
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3