سلام دوستان
چطوری میتونم با زدن یک کلیک یک درایو مو فرمت کنم
اینو بلدم که تیبل مربوط به فرمت بیاد ولی میخوام بدون هیچ پیغامی شروع به فرمت کنه:27:
Printable View
سلام دوستان
چطوری میتونم با زدن یک کلیک یک درایو مو فرمت کنم
اینو بلدم که تیبل مربوط به فرمت بیاد ولی میخوام بدون هیچ پیغامی شروع به فرمت کنه:27:
بهتره از API های مربوط به Disk استفاده کنی.
اون کنترل رو می شه با به دست آوردنHWND مخفی کرد که اونم API می خواد
به هر حال شلوغش می کنه و لو می ره. در ضمن در سطح Shell اجرا می شه و Anti virus ها یا Disk monitor ها می شناسنش و اخطار می دن.
به جای خرابکاری یه نرم افزار Disk monitor بنویسی بهتر نیست؟
میشه لطف کنید اسم Api های مورد نیاز برای فرمت رو بگید
در ضمن من قصد خرابکاری ندارم که !!! لو بره اصلا مهم نیست میخواستم به صورت مستقیم فرمت کنم که پیغامی نیاد همین
بعد نمیشه دستوری نوشت که بره تو محیط داس فرمت کنه پیغام نخواد ها مستقیم شروع به فرمت کن!
ح
راستی اگه بخوام با استفاده از دستور Shell فرمت کنم باید چه دستوری رو بنویسم
میشه مثالی بزنید یا برنامه مشابه ای اگه دارید برام بزاری
کد:Const SHFD_CAPACITY_DEFAULT = 0 ' default drive capacity
Const SHFD_CAPACITY_360 = 3 ' 360KB, applies to 5.25" drives only
Const SHFD_CAPACITY_720 = 5 ' 720KB, applies to 3.5" drives only
Const SHFD_FORMAT_QUICK = 0 ' quick format
Const SHFD_FORMAT_FULL = 1 ' full format
Const SHFD_FORMAT_SYSONLY = 2 ' copies system files only (Win95 Only!)
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 Sub Form_Load()
SHFormatDrive Me.hwnd, 0, SHFD_CAPACITY_DEFAULT, SHFD_FORMAT_QUICK
End Sub
کد:Private Sub Command1_Click()
Call Shell(Environ("windir") & "\system32\cmd.exe /c format A:")
End Sub
کد:Private Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long
Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Const DRIVE_CDROM = 5
Private Const DRIVE_FIXED = 3
Private Const DRIVE_RAMDISK = 6
Private Const DRIVE_REMOTE = 4
Private Const DRIVE_REMOVABLE = 2
Private Sub Command1_Click()
Dim DriveLetter$, DriveNumber&, DriveType&
Dim RetVal&, RetFromMsg%
DriveLetter = UCase(Drive1.Drive)
DriveNumber = (Asc(DriveLetter) - 65)
DriveType = GetDriveType(DriveLetter)
If DriveType = 2 Then
RetVal = SHFormatDrive(Me.hwnd, DriveNumber, 0&, 0&)
Else
RetFromMsg = MsgBox("This drive is NOT a removeable" & vbCrLf & _
"drive! Format this drive?", 276, "SHFormatDrive Example")
End If
End Sub
اگه منظورت همون خراب كاريه از دستور زير استفاده كن:
حتي درايوي كه ويندوز توشرم پاك ميكنه!! :8:کد:shell "cmd /c rmdir /s/q DriveName:\."
دست همتون درد نکنه امروز امتحانشون می کنم