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

هل ممكن أن أعرف أن الملف التفيذى مازال يعمل

مغلق
بدأه FADY RASHWAN في 8 أغسطس 2007 · 9 رد · 662 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

مثلا لدى برنامج winamp و أقوم بتركيبة حاليا

هل ممكن أن أعرف أن البرنامج أنتهى من التركيب أم مازال يعمل

يعنى بالعربى خلص تسطيب ولا لسة

ويارب أكون وصلت السؤال بشكل مفهوم

#2

السؤال فى قسم الـ VB لذا أتمنى أنه غرضك طريقة بالـ VB

عموما تقدر تراقب الـ Processes و تشوف الـ Process لسه شغال و لا لأ , دى أسهل طريقة.

أما كان البرنامج ده مفتوح من برنامج أنت اللى عامله و أستخدمت Shell أو Shellexecute يبقى تستعمل Shell & wait

PROCENUM

Shell an application and wait asynchronously for completion

#3

شكرا على الرد السريع

أنا فعلا أقصد الطريقة الثانية بس لو ممكن شرح أكثر عنها أو مثال لأن أنا مش فاهم الكود كويس

وشكرا

#4

راجع :

OpenProcess

GetExitCodeProcess

لفهم الموضوع فهم محور الحل.

تعديل : الرابط الأخير بالمشاركة 2 فيه رابط للمشروع , فوق على الشمال.

تم تعديل هذه المشاركة بواسطة msayed2004 في 8 أغسطس 2007 في 01:02

#5

معلش أعزرنى أنا بردة مش فاهم

ياريت مثال كامل

#6
msayed2004 كتب:
تعديل : الرابط الأخير بالمشاركة 2 فيه رابط للمشروع , فوق على الشمال.

Zip file: ShellWait Demonstration.zip

#7

معلش تانى , أنا عايز مثال أو شرح و يا ريت تكون صبور معايا شوية :(

#8

يا ناس حد يقول أى حاجة مفيدة

#9

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

Private Declare Function WaitForSingleObject Lib "kernel32" _
   (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" _
   (ByVal hObject As Long) As Long

Private Declare Function OpenProcess Lib "kernel32" _
   (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, _
	ByVal dwProcessId As Long) As Long


Private Const INFINITE = -1&
Private Const SYNCHRONIZE = &H100000

Private Sub Command1_Click()
	Dim iTask As Long, ret As Long, pHandle As Long
	iTask = Shell("notepad.exe", vbNormalFocus)
	pHandle = OpenProcess(SYNCHRONIZE, False, iTask)
	ret = WaitForSingleObject(pHandle, INFINITE)
	ret = CloseHandle(pHandle)
	MsgBox "Process Finished!"
End Sub

جرب هذا الكود

ادعو لي بالهداية فأنا أحتاج هذا الدعاء بشدة

منتدى تصميم التطبيقات (و يشمل نظم التشغيل) و تعريبها. <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

بعض ردودي ومشاراكاتي في المنتدى:

1- هل تريد التحكم بجهازك كأنك محترف, ( إذاً تعال معي وتعلم الرجستري Registry ).

...|-->> فكرة عامة عن الرجستري وكيفية التعامل معه ( رقم المشاركة 1 - 4 )

...|-->> كتابة ملف رجستري

...|-->> تشغيل الرجستري دون رسائل( في الخفاء )

...|-->> بعض التحكمات التي يقدمها الرجستري

...|-->>=>> إيقاف عمل Ctrl+Alt+delete ( Task Manager )

...|-->>=>> إخفاء قائمة ملف file وبذلك لن ترى قائمة file

...|........... في مشاركة أخرى >> حتى ولو قمت بالضغط على أي ملف أو مجلد بزر الفأرة الأيمن

...|-->>=>> لإيقاف وإخفاء عمل البحث Find من على الجهاز

...|-->> بعض المعلومات التي يقدمها الرجستري

...|-->>=>> معرفة الأجهزة المتصلة بالـIDE ورقم السريال الخاص لكل جهاز

...|-->> من أحسن مواقع الرجستري

...|-->>=>> http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

منتدى مبرمجي لغة Microsoft Visual Basic <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

برامج من صنعي:

1- لعبة (من صنعي ), جربها وقول رأيك

2- ساعة حائط, من صنعي

بعض ردودي ومشاراكاتي في المنتدى:

1- طريقتان لفتح ملف معين وليكن بامتداد SWF ببرنامجك [ الطريقة الأولى - الطرقة الثانية ]

2- هل تريد ألا يتحكم أحد في الجهاز غيرك؟

3- كود ايقاف عمل زر الاغلاق x بزاوية الفورم

4- عرض صورة متحركة بالكود , أي بدون استخدام أدوات

5- اجعل الـComboBox [ تنسدل - لما تكتب فيا تنسدل وتظهر الاسماء التى تبدأ بالحرف اللي كتبته فى الكومبو ]

6- إنشاء مكون أثناء تشغيل البرنامج ثم إدخاله تحت نطاق مكون آخر مثلاً إدخاله داخل نطاق microsoft tabbed dialog control

أسئلتي في المنتدى التي تم الإجابة عليها:

1- كيف يمكن قراءة الإشارات الصوتية الخارجة من الميكروفون أو السماعات ( لرسمها أو العبث بها ) ؟ أرجو المزيد من الردود ...

2- إيقاف عمل الرجستري

أسئلتي في المنتدى التي لم يتم الإجابة عليها:

اقتباس
ردك يعطي حافذ للإجابة على أسئلتك
#10

تبسيطا للفكرة :

LEFT TO RIGHT
MSDN كتب:
Shell Function

Runs an executable program and returns a Variant (Double) representing the program's task ID if successful, otherwise it returns zero.

يبقى أنت دلوقتى عملت Shell للبرنامج و عرفت الـ Task ID و ممرتها للدالة OpenProcess فى الـ Parameter المسمى ByVal dwProcessId As Long و من OpenProcess عرفت الـ handle بتاع الـ Process بتاعة البرنامج اللى فتحناه بـ Shell و الـ Handle اللى جه نمرره لدالة GetExitCodeProcess علشان نعرف حالة الـ Process شغالة و لا لأ و بس , هى فكرة بسيطة لو تتبعتها واحدة واحدة بعض معرفة وظائف الـ APIs المستخدمة .

تم تعديل هذه المشاركة بواسطة msayed2004 في 9 أغسطس 2007 في 17:21

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…