ايران ويج

نسخه‌ی کامل: خارج نمودن برنامه از حافظه به صورت كامل...
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان و اساتيد عزيز .
يكي از دوستان سوالي مبني بر خارج نشدن برنامشون از حافظه بعد از بستن برنامه پرسيده بودند،بنده قبلا بارها اين سوال از رو از سوي ديگر كاربران هم ديده بودم و به كرات شاهد اين مشكل در برنامه هاي مختلفي كه دوستان نوشته بودند بودم . از اين جهت ترجيح دادم اين موضوع مهم رو به صورت آموزش قرار بدم كه به اميد خدا راه حلي باشه براي تمام دوستاني كه با اين مشكل مواجه هستند .

کد:
'www.arshamsoft.com

Option Explicit

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)


Private Sub Form_Unload(Cancel As Integer)
ExitProcess GetExitCodeProcess(GetCurrentProcess, 0)
End Sub

براي اين كار از سه تابع GetExitCodeProcess ، GetCurrentProcess و ExitProcess استفاده مي كنيم .
GetCurrentProcess : براي بدست آوردن Handle (دستگيره) فرايند برنامه .
GetExitCodeProcess : براي بدست آوردن كد خاتمه فرايند مشخص شده .
ExitProcess : براي بستن و خارج نمودن فرايند و تمام Tread ( بند ) هاي آن از حافظه .

با اين روش برنامه به صورت كامل از حافظه خارج مي شود .

اميدوارم مفيد واقع بشه ، موفق و پيروز باشيد Wink.
اگه همه نقاط برنامه به درستی مديرت بشه نيازی به اين کار ها نيست, تابع End هم کلاً برنامه رو ميبنده
سلام .
مجتبی جان حرف شما درسته اما بعضی وقت ها مجبوریم مثلا از یک کنترل در برناممونن استفاده کنیم که خودمون ننوشتیمش و اطلاعی از نوع کد نویسیش نداریم و استفاده از این کنترل هم باعث به وجود آمدن چنین مشکلی شده،اینجاست که استفاده از روش فوق به برنامه نویس کمک خواهد کرد . من خودم تاحالا با این مشکل مواجه نشدم اما موارد زیادی از این مشکل رو دیدم .
سلام مرسی عزیز بابت کد
من هم خیلی با این مشکل مواجه شدم که برنامه با end هم بسته نمیشه و همیشه باید از Task manager برنامه رو ببندیم.