مخفی کردن پنجره CMD با اجرای دستور RUN
آیا راهی وجود دار که بشه تو VFP بعد از اجرای دستور تحت داس توسط RUN پنجره معروف مشکی رنگ (CMD ) باز نشه و یا بشه موقعیت پنجره رو به جای دیگری انتقال داد ؟
چون من در قسمتی از برنامه باید برنامه ای رو از dos اجرا کنم و این باز شدن مرتب پنجره سیاه برام مشکل ساز شده !
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
قبلا توضیح داده شده . n/ را بلافاصله بعد از دستور run بنویسید اینگونه :
run/n
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
سویچ /n در مواردی موجب حذف پنجره خواهد شد که برنامه مورد نظر شما تحت ویندوز باشد .
مثلا regedit-gpedit -calc
ولی در مورد برنامه های که تحت داس هستند سویچ /n کاربردی ندارد.
مثلا شما با اجرای دستور dir/s و استفاده از سویچ /n اصولا پیغام خطا دریافت خواهید کرد و این سویچ در برنامه یا دستورات تحت داس کاربردی ندارد.
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
پس بیشتر توضیح بدید تا ببینییم مشکل کجاست ؟ چه کاری می خواهید اجام بدهید مثالی بزنید
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
سلام
اينها امتحان كنيد
run <yourdosprogram> /n7
run <yourdosprogram> /n0
run <yourdosprogram> /n5
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
با تشکر از کلیه اساتیدی که در این مورد وقت گذاشتن .
متاسفانه با روشهای دوستان جواب نگرفتم .
جناب مهران :
من در بخشی از برنامه باید systeminfo را اجرا کنم و مقادیر بدست آمده را به یک tabel انتقال بدم
بنابراین در برنامه قرار دادم RUN systeminfo >_chksys.tmp
البته دستورات دیگری هم هستند که مرتبا پنجره cmd باز میشه و جلوه خوبی نداره .
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
یک راه دیگر هم هست استفاده از 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
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
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
مثلا یک فایل word را در برنامه می خواهیم باز کنیم :
run test.doc با هر پارامتری پنجره سیاه داس را باز می کند . برای رفع این ، راهی هست؟
نقل قول: مخفی کردن پنجره CMD با اجرای دستور RUN
همانطور که آقاي توکل گفتن ميتونيد از API ها مثل زير استفاده کنيد.
Declare Integer ShellExecute In SHELL32 Integer, String, String, String, String, Integer
ShellExecute(0,"open","c:\test.doc","","",1)