找回密码
 加入
搜索
查看: 5631|回复: 13

[GUI管理] 用AU3能做到修改硬盘的活动与否吗?[已解决]

 火.. [复制链接]
发表于 2010-3-6 21:15:00 | 显示全部楼层 |阅读模式
本帖最后由 a000000 于 2010-3-8 09:22 编辑

[attachimg]7524[/attachimg]将磁盘分区标为活动的,或者将磁盘分区标为不活动的

本帖子中包含更多资源

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

×
发表于 2010-3-7 02:41:53 | 显示全部楼层
估计高手是能修改的   应为  autoit3 是脚本
发表于 2010-3-7 06:09:39 | 显示全部楼层
活动与非活动的区别在于各自分区表的第一个字节,活动分区第一个字节为0x80,非活动为0x00,那么是否可以根据这个区别来将非活动转换为活动呢?~
发表于 2010-3-7 11:17:44 | 显示全部楼层
Run("diskpart /s active.txt")
#cs
active.txt 内容如下
  select disk 0
  select partition 1
  active
  exit
#ce
 楼主| 发表于 2010-3-7 12:34:47 | 显示全部楼层
gapkiller 发表于 2010-3-7 11:17



    还是用了txt,能不能单文件做到这点?
发表于 2010-3-7 13:17:19 | 显示全部楼层
回复 5# a000000


    4#可行的话你增加个写入临时文件的代码不就解决了
发表于 2010-3-7 13:22:58 | 显示全部楼层
还是用了txt,能不能单文件做到这点?
a000000 发表于 2010-3-7 12:34



    FileInstall()
发表于 2010-3-7 13:24:11 | 显示全部楼层
#include <SetupApi.au3>

Const $tagPARTITION_TABLE = "byte MbrData[446];byte ActiveFlags;byte StartTrack;short StartSC;byte FileSystem;byte EndTrack;short EndSC;dword LogicalStartSector;dword SectorsCount"

Local $hDisk, $pBuffer, $tBuffer, $fResult, $iDesiredAccess, $fActivate = 1

$pBuffer = _CM_Heap_Alloc(512)
$tBuffer = DllStructCreate($tagPARTITION_TABLE, $pBuffer)
$iDesiredAccess = bitOR($GENERIC_READ, $GENERIC_WRITE)

$hDisk = _CM_Create_File("\\.\H:", $iDesiredAccess, 3, 0, 3, 0)
_CM_Device_IO_Control($hDisk, 0x90018, 0, 0, 0, 0)
_CM_Read_Device($hDisk, $pBuffer, 512)
_CM_Device_IO_Control($hDisk, 0x9001C, 0, 0, 0, 0)
_CM_Close_Handle($hDisk)

If ($fActivate) Then
        DllStructSetData($tBuffer, "ActiveFlags", 0x80) ; Activate the partition
Else
        DllStructSetData($tBuffer, "ActiveFlags", 0x00) ; Un-activate
EndIf

$hDisk = _CM_Create_File("\\.\H:", $iDesiredAccess, 3, 0, 3, 0)
_CM_Device_IO_Control($hDisk, 0x90018, 0, 0, 0, 0)
_CM_Write_Device($hDisk, $pBuffer, 512)
_CM_Device_IO_Control($hDisk, 0x9001C, 0, 0, 0, 0)
_CM_Close_Handle($hDisk)
_CM_Assign_Var($tBuffer, 0, _CM_Heap_Free($pBuffer))

Msgbox(0, "", "Done~!")

评分

参与人数 1金钱 +40 贡献 +10 收起 理由
gapkiller + 40 + 10 牛x

查看全部评分

发表于 2010-3-7 13:30:22 | 显示全部楼层
建议操作硬件首先了解 pusofalse 超版出品的 SetupApi.au3 库
发表于 2010-3-7 18:15:24 | 显示全部楼层
终于逼得pusofalse 写出例子了,哈哈
发表于 2011-1-20 17:50:22 | 显示全部楼层
谢谢了,终于找到这个例子
发表于 2011-1-23 15:16:08 | 显示全部楼层
谢谢pusofalse
发表于 2011-11-27 03:31:55 | 显示全部楼层
那改成不活动的呢??
发表于 2012-1-26 11:46:48 | 显示全部楼层
谢谢了,认真学习学习!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 06:37 , Processed in 0.085594 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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