无忧启动论坛

 找回密码
 注册
搜索

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

查看数: 3911 | 评论数: 15 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-28 22:43

正文摘要:

本帖最后由 xuxianzhao 于 2022-5-28 22:52 编辑 作用: Gpt/Fdd/Mbr硬盘格式判断 使用方法: JudgeGpt.exe+硬盘序号 bug反馈交流群:863599045

回复

nowayer 发表于 2023-11-2 23:55:12
提示: 作者被禁止或删除 内容自动屏蔽
hua_giang 发表于 2022-7-6 12:18:19
good
zyy 发表于 2022-7-3 22:37:01
谢谢分享
盛大网络 发表于 2022-5-29 22:23:59
还不错
chg008 发表于 2022-5-29 15:58:25
都是高手啊,膜拜
xuziyi 发表于 2022-5-29 13:51:54
chg008 发表于 2022-5-29 00:15
这个看不懂啊?

写批处理时就可以根据此插件的输出内容判断启动方式
xuxianzhao 发表于 2022-5-29 11:39:37
liuzhaoyzz 发表于 2022-5-29 07:37
想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。

最好使用硬盘序号吧  这个也不难获取  我再改进一下也行
xuxianzhao 发表于 2022-5-29 11:21:27
还是你们的方法好呀
826773297 发表于 2022-5-29 10:10:46
0就是第一个硬盘,1是第二个硬盘
826773297 发表于 2022-5-29 10:09:29
PECMD代码即可

  1. _SUB 分区类型
  2. PART -devid list disk %1,&&iDskInf
  3. MSTR &&Mbr=<10>%&iDskInf%
  4. MESS %&Mbr%
  5. _END
  6. 分区类型 0
复制代码
liuzhaoyzz 发表于 2022-5-29 07:37:26
想请问下参数支持盘符吗?比如JudgeGpt.exe C:
我试了下好像可以。

点评

最好使用硬盘序号吧 这个也不难获取 我再改进一下也行  详情 回复 发表于 2022-5-29 11:39
2012jiashanni 发表于 2022-5-29 00:57:18
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
2012jiashanni 发表于 2022-5-29 00:45:09
本帖最后由 2012jiashanni 于 2022-5-29 00:47 编辑

点赞
xuxianzhao 发表于 2022-5-29 00:19:40
chg008 发表于 2022-5-29 00:15
这个看不懂啊?

就是判断硬盘格式的一个小插件  有些人能用的到  单独的话可能没什么用
chg008 发表于 2022-5-29 00:15:19
这个看不懂啊?

点评

就是判断硬盘格式的一个小插件 有些人能用的到 单独的话可能没什么用  详情 回复 发表于 2022-5-29 00:19

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 17:42

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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