View Full Version : سوال: مخفی کردن پنجره CMD با اجرای دستور RUN
jooybar
دوشنبه 13 مهر 1388, 13:25 عصر
آیا راهی وجود دار که بشه تو VFP بعد از اجرای دستور تحت داس توسط RUN پنجره معروف مشکی رنگ (CMD ) باز نشه و یا بشه موقعیت پنجره رو به جای دیگری انتقال داد ؟
چون من در قسمتی از برنامه باید برنامه ای رو از dos اجرا کنم و این باز شدن مرتب پنجره سیاه برام مشکل ساز شده !
mehran_337
دوشنبه 13 مهر 1388, 15:11 عصر
قبلا توضیح داده شده . n/ را بلافاصله بعد از دستور run بنویسید اینگونه :
run/n
jooybar
سه شنبه 14 مهر 1388, 09:09 صبح
سویچ /n در مواردی موجب حذف پنجره خواهد شد که برنامه مورد نظر شما تحت ویندوز باشد .
مثلا regedit-gpedit -calc
ولی در مورد برنامه های که تحت داس هستند سویچ /n کاربردی ندارد.
مثلا شما با اجرای دستور dir/s و استفاده از سویچ /n اصولا پیغام خطا دریافت خواهید کرد و این سویچ در برنامه یا دستورات تحت داس کاربردی ندارد.
mehran_337
سه شنبه 14 مهر 1388, 11:03 صبح
پس بیشتر توضیح بدید تا ببینییم مشکل کجاست ؟ چه کاری می خواهید اجام بدهید مثالی بزنید
سعید حمیدیانفر
سه شنبه 14 مهر 1388, 11:12 صبح
سلام
اينها امتحان كنيد
run <yourdosprogram> /n7
run <yourdosprogram> /n0
run <yourdosprogram> /n5
rahro
سه شنبه 14 مهر 1388, 12:15 عصر
در داس
RUN/0
jooybar
سه شنبه 14 مهر 1388, 14:00 عصر
با تشکر از کلیه اساتیدی که در این مورد وقت گذاشتن .
متاسفانه با روشهای دوستان جواب نگرفتم .
جناب مهران :
من در بخشی از برنامه باید systeminfo را اجرا کنم و مقادیر بدست آمده را به یک tabel انتقال بدم
بنابراین در برنامه قرار دادم RUN systeminfo >_chksys.tmp
البته دستورات دیگری هم هستند که مرتبا پنجره cmd باز میشه و جلوه خوبی نداره .
rezaTavak
چهارشنبه 15 مهر 1388, 08:09 صبح
یک راه دیگر هم هست استفاده از API های ویندوز.
البته دستور فوق را شاید نتوان از این طریق اجرا کرد:
DECLARE integer ShellExecute IN shell32.dll integer , string , string , string , string,integer
= ShellExecute(1,"open","cmd","systeminfo >_chksys.tmp","",7)
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx (http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx)
Private Const SW_SHOWNORMAL = 1
Private Const SW_SHOWMINIMIZED = 2
Private Const SW_SHOWMAXIMIZED = 3
Private Const SW_SHOW = 5
Private Const SW_MINIMIZE = 6
Private Const SW_SHOWMINNOACTIVE = 7
Private Const SW_SHOWNA = 8
Private Const SW_RESTORE = 9
Private Const SW_SHOWDEFAULT = 10
mehran_337
دوشنبه 16 آذر 1388, 08:07 صبح
مثلا یک فایل word را در برنامه می خواهیم باز کنیم :
run test.doc با هر پارامتری پنجره سیاه داس را باز می کند . برای رفع این ، راهی هست؟
binyaz2003
دوشنبه 16 آذر 1388, 09:28 صبح
همانطور که آقاي توکل گفتن ميتونيد از API ها مثل زير استفاده کنيد.
Declare Integer ShellExecute In SHELL32 Integer, String, String, String, String, Integer
ShellExecute(0,"open","c:\test.doc","","",1)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.