xuxianzhao 发表于 2022-5-28 22:43:47

Gpt/Fdd/Mbr硬盘格式判断小插件

本帖最后由 xuxianzhao 于 2022-5-28 22:52 编辑

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

chg008 发表于 2022-5-29 00:15:19

这个看不懂啊?

xuxianzhao 发表于 2022-5-29 00:19:40

chg008 发表于 2022-5-29 00:15
这个看不懂啊?

就是判断硬盘格式的一个小插件有些人能用的到单独的话可能没什么用

2012jiashanni 发表于 2022-5-29 00:45:09

本帖最后由 2012jiashanni 于 2022-5-29 00:47 编辑

点赞

2012jiashanni 发表于 2022-5-29 00:57:18

Func _GetDrivePartitionStyle($sDrive)
        Local $tDriveLayout = DllStructCreate('dword PartitionStyle;' & _
                        'dword PartitionCount;' & _
                        'byte union;' & _
                        'byte PartitionEntry')
        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 = Ptr(-1) Then Return SetError(@error, @extended, 0) ; INVALID_HANDLE_VALUE
        DllCall("kernel32.dll", "int", "DeviceIoControl", _
                        "hwnd", $hDrive, _
                        "dword", 0x00070050, _
                        "ptr", 0, _
                        "dword", 0, _
                        "ptr", DllStructGetPtr($tDriveLayout), _
                        "dword", DllStructGetSize($tDriveLayout), _
                        "dword*", 0, _
                        "ptr", 0)
        DllCall("kernel32.dll", "bool", "CloseHandle", "handle", $hDrive)
        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:26

想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。

826773297 发表于 2022-5-29 10:09:29

PECMD代码即可

_SUB 分区类型
PART -devid list disk %1,&&iDskInf
MSTR &&Mbr=<10>%&iDskInf%
MESS %&Mbr%
_END
分区类型 0

826773297 发表于 2022-5-29 10:10:46

0就是第一个硬盘,1是第二个硬盘

xuxianzhao 发表于 2022-5-29 11:21:27

还是你们的方法好呀

xuxianzhao 发表于 2022-5-29 11:39:37

liuzhaoyzz 发表于 2022-5-29 07:37
想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。

最好使用硬盘序号吧这个也不难获取我再改进一下也行

xuziyi 发表于 2022-5-29 13:51:54

chg008 发表于 2022-5-29 00:15
这个看不懂啊?

写批处理时就可以根据此插件的输出内容判断启动方式

chg008 发表于 2022-5-29 15:58:25

都是高手啊,膜拜{:1_191:}

盛大网络 发表于 2022-5-29 22:23:59

还不错

zyy 发表于 2022-7-3 22:37:01

谢谢分享{:1_186:}

hua_giang 发表于 2022-7-6 12:18:19

good

nowayer 发表于 2023-11-2 23:55:12

页: [1]
查看完整版本: Gpt/Fdd/Mbr硬盘格式判断小插件