如何调用windows自带的格式化工具
一般选择一个盘,然后右键--格式化会出现一个窗口“格式化 本地磁盘 (D:)”,这个窗口,要发送什么命令才会出现
[ 本帖最后由 ken0137 于 2008-5-22 20:52 编辑 ] format 简单实用.
;
;
Local $DriveNumber=3;A盘为0,B盘为1,C盘为2,D盘为3,依次类推……
Local $FormatOptions=1 ;1为快速格式化,0为完全格式化
DllCall("shell32.dll","int","SHFormatDrive","hwnd",0,"int",$DriveNumber,"int",0,"int",$FormatOptions)
;
;
:face (22): :face (22): 叁恨发言果然不同凡响,顺便问句:你API方面的这么多东西到底是怎么学会使用的呢?能教下大家方法么? 如果我要格式化的是多个优盘,怎么判断
这里我连接的是手机,连接后一个手机会有两个“removable”,其中一个是虚拟的,一个是优盘,我是根据优盘的容量来判断哪个是实际的优盘。
要是我一次插入多个手机,有什么函数可以返回 $DriveNumber的值 :face (32): 不明白dllcall这怎么用的... $DriveNumber ????你自已脚本里的一个变量? 你想获取的倒底是什么值呢?
回复 4# 漠北雪~狼 的帖子
通过查MSDN得到函数原型。再转换为AU3即可。。。:face (31): $DriveNumber可以这样算?a-z为盘符,ascII为97-122。那么,DGT获取Removable,再DS Ready,获得所有可用的U盘的盘符,asc盘符-96,就把将盘符转成dllcall需要的数字($DriveNumber)了。 发一下代码吧。
$var = DriveGetDrive( "REMOVABLE" )
Dim $DriveNumber
$i = 1
If NOT @error Then
For $i = 1 to $var
$state = DriveStatus($var[$i])
If $state = "READY" Then
$DriveNumber[$i] = Asc($var[$i]) - 96
$i += 1
ReDim $DriveNumber[$i]
EndIf
Next
$DriveNumber = $i
$var = 0
EndIf
For $i = 1 To $i
MsgBox(0,"阁下的U盘:",$DriveNumber[$i])
Next
[ 本帖最后由 asdf 于 2008-5-15 17:24 编辑 ] 可移动磁盘可以用DriveGetDrive 函数来实现
另外怀疑我楼上是AD贴 正想多了解这方面的内容,不错的!! 学习了 看高手过招 其实我想知道,出现这样的效果,要运行什么命令?
[ 本帖最后由 ken0137 于 2008-5-16 14:06 编辑 ] 真的无语了。。。。。。。。。。。。。。。
页:
[1]
2