КАК ДА СТАНЕ

2 отговора 125 прегледа
#1

КАК ДА СТАНЕ

Private Sub CommandButton1_Click()
Dim ForDisk, ReturnValue
On Error GoTo ErrLab

Open "a:\Disk.txt" For Output As #1
Close 1#

'****************************************************

ForDisk = Shell("format.com a:/q/y", 1)
MsgBox "ФОРМАТИРАНЕТО ЗАВЪРШИ", vbInformation
Exit Sub
'****************************************************

ErrLab:
Select Case Err.Number
Case 70
MsgBox "ПАСТАВЕНАТА ДИСКЕТА Е ЗАЩИТЕНА", vbCritical
Case 71
MsgBox "ПОСТАВЕТЕ ДИСКЕТА", vbCritical
Case Else
MsgBox "ДРУГА ГРЕШКА " & Err.Number, vbCritical
End Select
End Sub

Какво трябва да направя съобщението "ФОРМАТИРАНЕТО ЗАВЪРШИ" да се появи след завършването на форматирането.Сега се появява преди да е започнало.Благодаря Ви.

Отговор
в отговор на CTOЯH #2

Re: ЩИРЛИЦ КЪДЕ СИ

Помагай.

Отговор
в отговор на CTOЯH #3

Re: КАК ДА СТАНЕ

Ще трябва да вкараш малко API функции, за да разбереш кога другия процес е прключил:


Dim ProcessID As Long
Dim hProcess As Long

ProcessID = Shell( "форматиране, бла-бла", 1)
hProcess = OpenProcess(SYNCHRONIZE, 0, ProcessID)
If hProcess <> 0 Then
WaitForSingleObject hProcess, INFINITE
CloseHandle hProcess
End If


Заб. Константите и декларациите може да си ги вземеш от Api Viewer-a

Отговор