PDA

View Full Version : چطوری میشه یک درایو رو تحت VB فرمت کرد



mahdi_farhani
جمعه 30 مرداد 1383, 00:41 صبح
سلام دوستان من می خواهم توسط vb برنامه رو بنویسم که قابلیت های زیادی از قبیل copy . Past . Cut . format ... این کارها رو تونستم انجام بدم ولی تویه Format کردن موندم . حالا از شما دوستان میخوام که این مشکل من نو حل کنید

MM_Mofidi
جمعه 30 مرداد 1383, 14:42 عصر
هم توابع Api مربوطه را میتوانی استفاده کنی و هم از کام÷وننتهای نوشته شده.
مثلا FASTLIB

sunboy
جمعه 30 مرداد 1383, 20:24 عصر
متن زیر از سایت امنیتی سیمرغ می باشد





حالا میریم سراغ آموزش. یه تابع ای پی آی هست که اسم یه درایو و نوع فرمت کردن اونو میگیره و پنجره مربوط به فرمت کردن اونو باز میکنه

البته اونو فرمت نمیکنه!.ولی شما اگه یکم ابتکار به خرج بدین با استفاده از دستور

Sendkeys و یا هر چیز دیگه میتونین هر درایویو که میخواهین فرمت کنین!!

اسم تابع مورد نظر SHFormatDrive هستش که همون طور که ۳ تا آرگومان داره و ما باید مقدار دهیش کنیم

اولیش Hwnd برنامه ای هستش که تابع باید تحت اون اجرا بشه که ما Hwnd

برنامه خودمونو بش میدیم

دومیش نام درایو هست رو باید به صورت عددی وارد کنین یعنی اگه درایو مورد نظرتون A بود مقدار ۰ و اگه B بود مقدار ۱ و اگه درایو C بود مقدار ۲ و همین طور الی آخر.

سومین مقدار مورد نیازش یکی از ایناس که نوع فرمت کردن رو مشخص میکنه:

Private Const SHFD_CAPACITY_DEFAULT = 0
Private Const SHFD_CAPACITY_360 = 3
Private Const SHFD_CAPACITY_720 = 5
Private Const SHFD_FORMAT_QUICK = 0
Private Const SHFD_FORMAT_FULL = 1

که دیگه معلوم هر کدوم ما چه کاریه

حالا یه برنامه مینویسیم که پنجره مربوط به فرمت کردن درایو C نشون بده::

فقط کد زیر رو وارد کنین:

Private Const SHFD_CAPACITY_DEFAULT = 0
Private Const SHFD_CAPACITY_360 = 3
Private Const SHFD_CAPACITY_720 = 5
Private Const SHFD_FORMAT_QUICK = 0
Private Const SHFD_FORMAT_FULL = 1

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, 2, SHFD_CAPACITY_DEFAULT, SHFD_FORMAT_QUICK
End Sub


حالا با باز شدن برنامه صفحه مربوطه باز میشه

امیدوارم بتونه کمکت کنه

mahdi_farhani
شنبه 31 مرداد 1383, 00:12 صبح
دوستان دستتون درد نکنه زحمت کشیدید
ولی خودم پیداش کردم
استفاده از کتابخه Microsoft Script Runtime که همون FileSysytemobject باشه استفاده کردم
میام تمام پوشه ها و فایل ها داخل درایو رو حذف میکنم
:flower: