نمایش نتایج 1 تا 6 از 6

نام تاپیک: بدست گرفتن کنترل برنامه, پس از دستور Shell ؟

  1. #1

    بدست گرفتن کنترل برنامه, پس از دستور Shell ؟

    با سلام
    وقتیکه یه برنامه ای رو با این دستور اجرا میکنیم چطوری میشه زمان پایان یافتن اجرای اونو فهمید؟
    یا بهترین راه برای اجرای یه برنامه دیگه بلافاصله پس از اتمام اجرای برنامه مزبور چیه؟
    متشکرم.

  2. #2
    کاربر دائمی آواتار hmm
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ایران - یزد
    پست
    1,229
    دستور doevents بعد از دستور shell

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    مشهد مقدس
    پست
    416
    چجوری با doevents
    چون پس اجرای دستور shell کنترل به برنامه ما بر می گردد و برنامه کار خودش را ادامه می دهد. :roll:

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    مهر 1382
    محل زندگی
    ashkan@iranvig.com
    پست
    41
    ببخشید من فکر میکنم اگه برنامه مثل ورد و ... اینها باشه که ماکروسافت داده بیرون از آبجکتاش فکر کنم بشه استفاده کرد.
    ولی اگه برنامه نا مشخصه میشه بعد از اجرا هندل اونو برداشت و کنترل کرد که هندل اون هروقت از برنامه های در حال اجرا خارج شد یعنی اون برنامه به پایان رسیده.
    البته احتمالا راه های دیگه هم باید باشه ولی فعلا من چیزی نمیدونم.

  5. #5
    با سلام
    جناب آقای ایران ویج متشکرم, البته قبلا این مورد به فکر بنده هم خطور کرده بود ولی میشه بفرمایید که دقیقا و با چه دستوراتی میشه این موضوع رو کنترل کرد؟(پایان یافتن برنامه با کنترل کردن هندلش !)
    اگه نمونه کد بدین که خیلی مرسی!
    متشکرم.

  6. #6
    کاربر تازه وارد
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    اصفهان
    پست
    37
    این کد برای تشخیص پایان یافتن برنامه اجرا شده توسط دستور shell است. این برنامه notepad را اجرا می کند و منتظر می ماند تا از بسته شود.

    Private Type STARTUPINFO
    cb As Long
    lpReserved As String
    lpDesktop As String
    lpTitle As String
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As Long
    hStdInput As Long
    hStdOutput As Long
    hStdError As Long
    End Type
    Private Type PROCESS_INFORMATION
    hProcess As Long
    hThread As Long
    dwProcessID As Long
    dwThreadID As Long
    End Type
    Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
    hHandle As Long, ByVal dwMilliseconds As Long) As Long
    Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
    lpApplicationName As Long, ByVal lpCommandLine As String, ByVal _
    lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
    ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
    ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
    lpStartupInfo As STARTUPINFO, lpProcessInformation As _
    PROCESS_INFORMATION) As Long
    Private Declare Function CloseHandle Lib "kernel32" _
    (ByVal hObject As Long) As Long
    Private Declare Function GetExitCodeProcess Lib "kernel32" _
    (ByVal hProcess As Long, lpExitCode As Long) As Long
    Private Const NORMAL_PRIORITY_CLASS = &H20&
    Private Const INFINITE = -1&
    Public Function ExecCmd(cmdline$)
    Dim proc As PROCESS_INFORMATION
    Dim start As STARTUPINFO
    ' Initialize the STARTUPINFO structure:
    start.cb = Len(start)
    ' Start the shelled application:
    ret& = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _
    NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
    ' Wait for the shelled application to finish:
    ret& = WaitForSingleObject(proc.hProcess, INFINITE)
    Call GetExitCodeProcess(proc.hProcess, ret&)
    Call CloseHandle(proc.hProcess)
    ExecCmd = ret&
    End Function
    Sub Form_Click()
    Dim retval As Long
    retval = ExecCmd("notepad.exe")
    MsgBox "Process Finished, Exit Code " & retval
    End Sub

تاپیک های مشابه

  1. معادل Shell در C#‎
    نوشته شده توسط amir_3530 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: شنبه 26 فروردین 1391, 01:31 صبح
  2. فرمان Shell
    نوشته شده توسط m_zi در بخش برنامه نویسی در 6 VB
    پاسخ: 16
    آخرین پست: یک شنبه 07 بهمن 1386, 11:24 صبح
  3. پاسخ: 1
    آخرین پست: شنبه 14 بهمن 1385, 23:43 عصر
  4. گزینه dos shell در c
    نوشته شده توسط sialk graph در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 0
    آخرین پست: یک شنبه 12 آذر 1385, 10:54 صبح
  5. سوالاتی در مورد یک shell که با ++C نوشته شده
    نوشته شده توسط mostafa_mn7 در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 1
    آخرین پست: چهارشنبه 12 بهمن 1384, 08:52 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •