good |
谢谢分享 |
还不错 |
都是高手啊,膜拜 |
chg008 发表于 2022-5-29 00:15 写批处理时就可以根据此插件的输出内容判断启动方式 |
liuzhaoyzz 发表于 2022-5-29 07:37 最好使用硬盘序号吧 这个也不难获取 我再改进一下也行 |
还是你们的方法好呀 |
0就是第一个硬盘,1是第二个硬盘 |
PECMD代码即可
|
想请问下参数支持盘符吗?比如JudgeGpt.exe C: 我试了下好像可以。 |
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:47 编辑 点赞 |
chg008 发表于 2022-5-29 00:15 就是判断硬盘格式的一个小插件 有些人能用的到 单独的话可能没什么用 |
这个看不懂啊? |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.