امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کار با DOS
نویسنده پیام
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #1
کار با DOS
سلام
چطور میشه وقتی یه دستور با داس اجرا کردیم جوابشو بگیریم؟
واضحتر میگم
مثلا من این کد رو نوشتم
کد:
Shell "cmd.exe"

Dim WinShell
Set WinShell = CreateObject("Wscript.shell")

WinShell.SendKeys " Dos دستور مورد نظر برای اجرا در "
WinShell.SendKeys "{ENTER}"
حالا نتیجه رو میگه. اونا رو چطوری میتونم بفهمم. مثلا بیارم تو تکست باکس

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۵-بهمن-۱۳۸۴, ۱۵:۰۴:۳۶
ارسال‌ها
پاسخ
تشکر شده توسط : HvP
ahvig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 29
موضوع‌ها: 4
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #2
 
http://www.iranvig.com/modules.php?name=...=0&thold=0
۱۵-بهمن-۱۳۸۴, ۱۵:۵۸:۵۸
ارسال‌ها
پاسخ
veyskarami غایب
مدیر بازنشسته
*****

ارسال‌ها: 861
موضوع‌ها: 82
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 477
( 2479 تشکر در 611 ارسال )
ارسال: #3
 
راستي چرا موقعي كه يه بچ فايل با وي بي درست مي كنم و توش مي نويسم كه فلان فايل رو از روي هارد اجرا كنه اين كار رو انجام نميده ولي وقتي كه تو خود ويندوز به صورت دستي اجراش مي كنم جواب مي ده؟
يعني منظورم اينه كه با دستور shell اونو اجرا نمی کنه ولی روش کلیلک میکنی کار میکنه

۱۵-بهمن-۱۳۸۴, ۱۷:۱۵:۱۲
وب سایت ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #4
 
veyskarami نوشته است:راستي چرا موقعي كه يه بچ فايل با وي بي درست مي كنم و توش مي نويسم كه فلان فايل رو از روي هارد اجرا كنه اين كار رو انجام نميده ولي وقتي كه تو خود ويندوز به صورت دستي اجراش مي كنم جواب مي ده؟
يعني منظورم اينه كه با دستور shell اونو اجرا نمی کنه ولی روش کلیلک میکنی کار میکنه

shell فقط برای فایل های exe و bat
اگه میخوای هر فایلی رو اجرا کنی باید یه کد دیگه بنویسی. الان یادم نیست پیدا کردم میزارمش اینجا

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۵-بهمن-۱۳۸۴, ۲۰:۱۱:۰۶
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #5
 
با این کد میتونی هر فایلی رو اجرا کنی
کد:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Const SW_SHOW = 5


Private Sub Command1_Click()
On Error GoTo l
Dim f As String
f = "f:\robot.rar"
ShellExecute Form1.hwnd, "open", f, vbNullString, vbNullString, SW_SHOW
l: Exit Sub
End Sub
[تصویر:  157.gif]

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۵-بهمن-۱۳۸۴, ۲۰:۱۴:۱۳
ارسال‌ها
پاسخ
Blossom آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 9
( 21 تشکر در 14 ارسال )
ارسال: #6
Re: کار با DOS
spiderman نوشته است:سلام
چطور میشه وقتی یه دستور با داس اجرا کردیم جوابشو بگیریم؟
واضحتر میگم
مثلا من این کد رو نوشتم
کد:
Shell "cmd.exe"

Dim WinShell
Set WinShell = CreateObject("Wscript.shell")

WinShell.SendKeys " Dos دستور مورد نظر برای اجرا در "
WinShell.SendKeys "{ENTER}"
حالا نتیجه رو میگه. اونا رو چطوری میتونم بفهمم. مثلا بیارم تو تکست باکس
فکر کنم بتوني اينطور مشکلت رو رفع کني
کد:
Shell "cmd.exe"
Dim WinShell
Set WinShell = CreateObject("Wscript.shell")
WinShell.SendKeys " Dos دستور مورد نظر براي اجرا در "
WinShell.SendKeys " > نام فايل متني"
WinShell.SendKeys "{ENTER}"
با اين کار تمام خروجب دستور توي اون فايل متني ذخيره مي شه و مي توني فايل رو با دستور Open باز کني و هر کار که دلت ميخواد روش انجام بدي
و بعد از کار ميتوني با دستور
کد:
kill نام فايل
فايل رو از بين ببري
حالا من يه سوال بپرسم
چطور مي شه هندل پنجره اي که قبل از انتخواب پنجره ي ما فعال بوده رو بدست آورد؟
من اين کار رو کردم که با GetForegroundWindow سريعا چک کنه و اگر هندل پنجره ي ما بدست اومد هندل قبلي رو بده ، اين کار درستيه و آيا راه بهتري هم هست؟
براي اينکه بهتر درک کنين توي ران تاپ کنين OSK و اجرا کنين و خودتون ببينين
۱۵-بهمن-۱۳۸۴, ۲۲:۱۱:۳۷
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #7
 
تو صفحه اول وی بی مطرح میکردی بهتر بود. زودتر جواب میگرفتی

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۶-بهمن-۱۳۸۴, ۰۰:۱۳:۵۰
ارسال‌ها
پاسخ
Blossom آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 9
( 21 تشکر در 14 ارسال )
ارسال: #8
 
اينم حرفي !
نوشتم تا شايد شما بم جواب بدين !!!
۱۶-بهمن-۱۳۸۴, ۰۱:۰۵:۳۹
ارسال‌ها
پاسخ
veyskarami غایب
مدیر بازنشسته
*****

ارسال‌ها: 861
موضوع‌ها: 82
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 477
( 2479 تشکر در 611 ارسال )
ارسال: #9
 
آخه مشكل اينجاست من خودم از روش خودم استفاده كرده بودم و جواب مي داد اما الان كه از همون روش استفاده مي كنم جواب نمي ده

۱۶-بهمن-۱۳۸۴, ۰۹:۵۱:۱۱
وب سایت ارسال‌ها
پاسخ
Blossom آفلاین
در حال پیشرفت
***

ارسال‌ها: 257
موضوع‌ها: 40
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 9
( 21 تشکر در 14 ارسال )
ارسال: #10
 
veyskarami نوشته است:آخه مشكل اينجاست من خودم از روش خودم استفاده كرده بودم و جواب مي داد اما الان كه از همون روش استفاده مي كنم جواب نمي ده
اين روش خودم چيه :!: :?: :!: :?:
۱۶-بهمن-۱۳۸۴, ۱۳:۴۴:۱۸
ارسال‌ها
پاسخ
veyskarami غایب
مدیر بازنشسته
*****

ارسال‌ها: 861
موضوع‌ها: 82
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 477
( 2479 تشکر در 611 ارسال )
ارسال: #11
 
از دستور Shell استفاده کرده بودم

۱۶-بهمن-۱۳۸۴, ۱۵:۵۸:۴۳
وب سایت ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS