الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول كود ...!

بدأه the saver في 9 يونيو 2009 · 4 رد · 571 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاتة ...

أخواني .. عندي سؤال ..

ما هو الكود الذي بواسطته يتم التأكد من وجود البرنامج في قائمة Processes أم لا ...؟؟

وما عليكم أمر ..

اريد الكود يقوم بإظهار رسالة ... في حالة ان البرنامج اختفى من Processes ... أي بعد ما ينتهي من عمله ...

ولكم جزيل الشكر والتقدير ...

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

ان شاء الله هذا المثال يساعدك على الحل

EXP.rar

Mimo

040.gif

#3

اشكرك ع المساعده ميمو ...

ولكن هـ البرنامج يظهر جميع العمليات التي تعمل الأن ...

وما تمكنت من تغير الكود للحصول على المطلوب ...

والمطلوب هو كود ...

يقوم بالتاكد من عمل عملية / مهمة معينة الأن ... واظهار رسالة عند انتهائها / توقفها ...

ارجو المساعده

#4

السلام عليكم...

إذا كانت العملية (Process) سيتم تشغيلها بواسطة برنامجك، فأعتقد أن الكود التالي هو ما تبحث عنه.

المثال يقوم بتشغيل برنامج المفكرة (Notepad.exe) - عند النقر على سطح الـ Form - و ينتظر إغلاقها فيعطي رسالة بذلك.

  1.  
  2. 'Option Explicit
  3.  
  4. Private Type STARTUPINFO
  5. cb As Long
  6. lpReserved As String
  7. lpDesktop As String
  8. lpTitle As String
  9. dwX As Long
  10. dwY As Long
  11. dwXSize As Long
  12. dwYSize As Long
  13. dwXCountChars As Long
  14. dwYCountChars As Long
  15. dwFillAttribute As Long
  16. dwFlags As Long
  17. wShowWindow As Integer
  18. cbReserved2 As Integer
  19. lpReserved2 As Long
  20. hStdInput As Long
  21. hStdOutput As Long
  22. hStdError As Long
  23. End Type
  24.  
  25. Private Type PROCESS_INFORMATION
  26. hProcess As Long
  27. hThread As Long
  28. dwProcessID As Long
  29. dwThreadID As Long
  30. End Type
  31.  
  32. Private Declare Function WaitForSingleObject Lib "kernel32" (ByVal _
  33. hHandle As Long, ByVal dwMilliseconds As Long) As Long
  34.  
  35. Private Declare Function CreateProcessA Lib "kernel32" (ByVal _
  36. lpApplicationName As Long, ByVal lpCommandLine As String, ByVal _
  37. lpProcessAttributes As Long, ByVal lpThreadAttributes As Long, _
  38. ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, _
  39. ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, _
  40. lpStartupInfo As STARTUPINFO, lpProcessInformation As _
  41. PROCESS_INFORMATION) As Long
  42.  
  43. Private Declare Function CloseHandle Lib "kernel32" (ByVal _
  44. hObject As Long) As Long
  45.  
  46. Private Const NORMAL_PRIORITY_CLASS = &H20&
  47. Private Const INFINITE = -1&
  48.  
  49. Public Sub ExecCmd(cmdline$)
  50. Dim proc As PROCESS_INFORMATION
  51. Dim start As STARTUPINFO
  52.  
  53. ' Initialize the STARTUPINFO structure:
  54. start.cb = Len(start)
  55.  
  56. ' Start the shelled application:
  57. ret& = CreateProcessA(0&, cmdline$, 0&, 0&, 1&, _
  58. NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
  59.  
  60. ' Wait for the shelled application to finish:
  61. ret& = WaitForSingleObject(proc.hProcess, INFINITE)
  62. ret& = CloseHandle(proc.hProcess)
  63. End Sub
  64.  
  65. Sub Form_Click()
  66. ExecCmd "notepad.exe"
  67. MsgBox "Process Finished"
  68. End Sub
  69.  

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#5

اشكرك أخوي ناجي ..

والله يعطيك العافية ...

جاري تجربة الكود ...

مواضيع مشابهة