
Мож кто знает?
'Объявления API
Private Declare Function SHFormatDrive Lib "Shell32" (ByVal hwndOwner As Long, ByVal iDrive As Long, ByVal iCapacity As Long, ByVal iFormatType As Long) As Long
'Вызов форматирования
Private Function ShowFormat(Optional ByVal iDrive As Long, _
Optional ByVal iCapacity As Long, Optional ByVal iFormatType As Long) As Long
On Error Resume Next
ShowFormat = SHFormatDrive(0, iDrive, iCapacity, _
iFormatType)
End Function
Private Sub Form_Load()
On Error Resume Next
'Форматнуть диск A: (по умолчанию)
ShowFormat
End Sub
Shell "format a: /u"
Shell Environ("COMSPEC") & " /c format a: /u /y"
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, ByVal lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Dim fso As New FileSystemObject
Dim dr As Drive
Dim AppPath As String
Sub Form_Load()
If Right(App.Path, 1) = "\" Then AppPath = App.Path Else AppPath = App.Path & "\"
End Sub
Sub FullFormatDriveA() 'полное форматирование
Set dr = fso.GetDrive("A:")
If dr.IsReady Then
WriteResponseFile
Dim F As Integer
Dim batch As String
batch = AppPath & "qf_a.bat"
F = FreeFile
Open batch For Output As #F
Print #F, "Format A: /U < resp.txt"
Print #F, "del resp.txt"
Print #F, "del %0"
Close #F
Shell batch, vbHide
Else
MsgBox "Я заходил к дисководу, у него никого нет!", vbOKOnly
End If
End Sub
Private Sub QuickFormatDriveA() 'быстрое форматирование
Set dr = fso.GetDrive("A:")
If dr.IsReady Then
WriteResponseFile
Dim F As Integer
Dim batch As String
batch = AppPath & "qf_a.bat"
F = FreeFile
Open batch For Output As #F
Print #F, "Format A: /Q < resp.txt"
Print #F, "del resp.txt"
Print #F, "del %0"
Close #F
Shell batch, vbHide
Else
MsgBox "Я заходил к дисководу, у него никого нет!", vbOKOnly
End If
End Sub
Dim strCmdPath As String, strWinPath as String
On Error Resume Next
strWinPath = Environ ("WINDIR")
If Len(strWinPath) = 0 Then _
strWinPath = "C:\WINDOWS"
If Mid(strWinPath, Len(strWinPath), _
1) = "\" Then strWinPath = Mid(strWinPath, _
1, Len(strWinPath)-1)
strCmdPath = Environ("COMSPEC")
If Len(strCmdPath) = 0 Then _
strCmdPath = strWinPath & _
"\command.com"
Shell strCmdPath & " /c format a: /u /y"
Shell strCmdPath & " /c format a: /u /y"
Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
· bVk
Задает код виртуальной клавиши. Код клавиши - это значение от 1 до 254.
· bScan
Задает аппаратный скан-код клавиши. Обычно устанавливается в 0.
· fdwFlags
Набор флагов, которые задают различные параметры операции посылки кода клавиши. Приложение может использовать любую комбинацию из данных предустановленных констант для установки флагов:
KEYEVENTF_EXTENDEDKEY
Если установлен, этот флаг показывает, что скан-код должен быть предварен байтом со значением 0xE0 (224).
KEYEVENTF_KEYUP
Если установлен, этот флаг показывает, что клавиша отпускается. Если нет, то клавиша нажимается.
· dwExtraInfo
Задает дополнительное 32-битное значение (Long), связанное со строкой, посылаемой системе. Обычно устанавливается в 0.
Shell strCmdPath & " /c format a: /u", vbNormalFocus
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18