كيف غالبا ما تكون عملية إعادة استخدام مقابض

StackOverflow https://stackoverflow.com/questions/1815434

  •  06-07-2019
  •  | 
  •  

سؤال

وألاحظ وتطبيقات معالجة عند استخدام وظيفة قذيفة لفتحه. وبعد ذلك استخدام هذا المؤشر إلى إغلاق التطبيق لاحقا. ومع ذلك يمكن للمستخدم أيضا إغلاق هذا التطبيق الآخر نفسه. يمكن أن مقبض ثم يمكن استخدامها من قبل ويندوز بحيث عندما استخدم ذلك المقبض أغمض عملية مختلفة. إذا كان من الممكن انه ليس من المرجح؟

هل كانت مفيدة؟

المحلول

لا، لم يكن لديك ما يدعو للقلق حول هذا الموضوع. مقبض أرجعها، مثلا، OpenProcess، ShellExecuteEx () أو CreateProcess تحافظ على عملية الكائن على قيد الحياة. هذه هي الطريقة التي من الممكن استدعاء GetExitCodeProcess () لاسترداد رمز إنهاء بعد إنهاء العملية.

ولا يحصل صدر الكائن حتى يتم إغلاق المؤشر الأخير على ذلك. عكس النصيحة السابقة الواردة في هذا الموضوع، فمن المهم جدا أن استدعاء CloseHandle () أو سيكون لديك تسرب.

نصائح أخرى

ويمكنك الانتظار على مقبض عملية لمعرفة عند خرجت منه.

وWaitForSingleObject (hProcess، لانهائي)؛

وعندما يعود هذا، وانت تعرف هذه العملية قد خرجت وأنت لا تحتاج إلى إغلاقه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top