PDA

View Full Version : سوال:استفاده از دستورات داس در وی بی



scorpion_sincity
پنج شنبه 10 فروردین 1385, 13:58 عصر
با سلام خدمت مهندسین محترم
‍*------------------------------------------------------------------------------*
چطور می شه در ویژال بیسیک از دستورات داس استفاده کرد؟
دستوری مثل فرمت
در وی بی داریو بدیم فرمتش کنه
‍*------------------------------------------------------------------------------*
ممنون
‍*------------------------------------------------------------------------------*
عقرب_شهرگناه

Payman62
پنج شنبه 10 فروردین 1385, 14:48 عصر
دستورات داس که با shell اجرا میشن . ولی واسه فرمت صفحه داس باز میشه که طرف باید yes بزنه.

ehsan_ansaripoor
پنج شنبه 10 فروردین 1385, 18:58 عصر
دوست عزیز اگر آشنایی با API ها هم داشته باشی می تونی این کار را انجام بدی.

Payman62
پنج شنبه 10 فروردین 1385, 21:00 عصر
جناب انصاری پور شما مطمنی میشه با API ها درایو رو فرمت کرد؟ بدون اینکه از طرف سوال برای تایید فرمت بپرسه؟
فکر نکنم امکان پذیر باشه ها.

mkbo_webmaster
جمعه 11 فروردین 1385, 12:14 عصر
اصلا این کارها لازم نیست. این کار بسیار سادس و من اینو بصورت تجربی پیدا کردم.
خط دستوری زیر رو ببین :

Call Shell("Cmd /c format c:",NormalFocus)


در بالا بجای کلمه
format c: میتونید دستورتون رو عوض کنید
به همین راحتی:خجالت:

scorpion_sincity
جمعه 11 فروردین 1385, 14:08 عصر
با سلام
8----------------------------------------------------------8
همش درست ولی NormalFocus برای چی ؟
8----------------------------------------------------------8
ممنون
8----------------------------------------------------------8

Payman62
جمعه 11 فروردین 1385, 15:04 عصر
خوب من که گفتم با Shell انجام پذیره. ولی با این روش صفحه داس باز میشه و از طرف میپرسه که میخوای فرمت کنی یا نه. هیچ آدم احمقی هم نمیگه بله من با فرمت درایو C موافقم. No میزنه و عمل فرمت Cancel میشه.

scorpion_sincity
جمعه 11 فروردین 1385, 16:14 عصر
با سلام مجدد
=----------------------------------------------=
اگر بجایFormat c: بنویسیم Format c:/q/y چی؟
جواب می ده؟ :متفکر:
=----------------------------------------------=
ممنون

mkbo_webmaster
شنبه 12 فروردین 1385, 09:43 صبح
بله ، شما بعد از کلمه cmd /c هر حالتی رو میتونید اجرا کنید. این بصورت تجربی به من ثابت شده و اینکه اگر دستوری حاوی تائیدیه بود میتونید به راحتی سوییچ اون رو پیدا کنید تا دیگه سوالی در این مورد نپرسه یا اگر نبود در سایت مایکروسافت جستجوش کنید. حتما هست اگر هم نیست مطمئن باشید هست ولی برای شما نیست. لابد جایز نبوده که کاربران بدونن !
مرسی از توجهتون

S_VB.max
شنبه 12 فروردین 1385, 12:51 عصر
با تابع ای پی آی SHFormatDrive و GetDriveType می تونید یک درایو را فرمت کنید ولی باز هم از کاربر سئوال می پرسد.
می تونید وقتی پیغام داده شد با توابع ای پی آی ، اون پیغام را تایید کرده و ببندید بدون این که کاربر دخالتی بکند .

Payman62
شنبه 12 فروردین 1385, 14:35 عصر
با تابع ای پی آی SHFormatDrive و GetDriveType می تونید یک درایو را فرمت کنید ولی باز هم از کاربر سئوال می پرسد.
می تونید وقتی پیغام داده شد با توابع ای پی آی ، اون پیغام را تایید کرده و ببندید بدون این که کاربر دخالتی بکند .
این کار به این راحتی ها هم امکان پذیر نیست. چون موقع اجرا وقتی برنامه به خط SHFormatDrive یعنی به دستور فرمت میرسه متوقف میشه و اجرای کدهای بعدی ادامه پیدا نمیکنه و نمیشه تاییدیه رو فرستاد. این توقف تا زمان پاسخگویی کاربر به دستور فرمت و تایید و یا کنسل آن ادامه داره. حالا اگرم یه جوری تاییدیه رو فرستادی کاربر فرمت شدن رو میبینه و میتونه فورا کنسلش کنه.
در ضمن GetDriveTypeA نوع درایو رو مشخص میکنه. مثلا میگه فلاپیه یا سی دی رامه یا ... برای به دست آوردن لیست درایوهای موجود روی سیستم GetLogicalDrives جواب میده.

اصلا این کارها لازم نیست. این کار بسیار سادس و من اینو بصورت تجربی پیدا کردم.
خط دستوری زیر رو ببین :

* Call Shell("Cmd /c format c:",NormalFocus)
دستور Shell که یه دستور شناخته شدست. نیاز به تجربه نداره که میگی به طور تجربی پیدا کردم.
راستی من نمیفهمم چه نیازی به cmd /c هست. این 2 دستور چه فرقی با هم دارن؟

Shell "Cmd /c calc.exe"
Shell "calc.exe"

scorpion_sincity
شنبه 12 فروردین 1385, 14:44 عصر
با سلام خدمت دوستان عزیز
|----------------------------------------------------------|
ممنون از راهنمایی شما
یک سوال دیگه هم داشتم
می خواهیم با برنامه کاربر یک درایو را انتخاب کند و ما DIr را در برنامه نمایش بدهیم

یعنی: خروجی دستور داس در برنامه
|----------------------------------------------------------|
در ضمن این سایت خفن را به شما دوست عزیز بابت این راهنمایی ها تقدیم میکنم
آی پی بده از اول تا اخر موقعیت جغرافیاش را می گه
http://www.dnsstuff.com/
|----------------------------------------------------------|
ممنون

Payman62
شنبه 12 فروردین 1385, 14:56 عصر
وقتی DriveListBox و DirListBox و FileListBox جز امکانات vb هست چرا میخوای با دستورات داس کار کنی؟

S_VB.max
شنبه 12 فروردین 1385, 21:13 عصر
Payman62 جان از این بابت خیالت راحت باشه که میشه تاییدیه را فرستاد و جلوی این توقف را گرفت
اما درمورد اینکه کاربر فرمت شدن را می بینه و جلوی اونا می گیره بله شما درست می گویید
برای فرمت یک درایو اول باید نوع اونا را تعیین کنید من این کار را با تابع GetDriveTypeA انجام میدم
آقای mkbo_webmaster فکر نکنم این جوری بشه به هسته داس دسترسی داشته باشی

mkbo_webmaster
شنبه 12 فروردین 1385, 22:25 عصر
مطمئنا وقتی حرف از API میاد دیگه جائی برای بحث نمی مونه !!!
اگه کدهاش رو خواستید من منبع کدم.
در خدمتم ...
ضمنا از آقای SCORPION_SIN... بخاطر آدرس اینترنتی بسیار بسیار قدرتمندشون واقعا متشکرم.