PDA

View Full Version : حرفه ای: گرفتن آدرس لود شده دی ال ال در فایل اجرایی



loo30fer
سه شنبه 30 فروردین 1390, 14:07 عصر
با سلام خدمت دوستان
من میخوام آدرس فایلی رو که دی ال ال من رو تو خودش لود کرده رو بگیرم , مثلا فایل C:\File.exe دی ال ال من رو تو خودش لود کرده و داره استفاده میکنه پس آدرسشم میشه C:\File.exe حالا چطور میتونم اینکار رو بکنم ممنون میشم من رو راهنمایی کنید با تشکر.

vcldeveloper
سه شنبه 30 فروردین 1390, 16:46 عصر
راه کلیش اینه: با GetCurrentProcesID، می تونید PID پروسه فعلی رو به دست بیارید، سپس با استفاده از توابع Tool Help API یا PsAPI هم آدرس فایل مربوط به ماجول EXE اون رو به دست بیارید.

اگر از ProcessInfo استفاده می کنید، می تونید کدی مثل این، برای به دست آوردن آدرس فایل EXE، بنویسید:


ProcessInfo1.CurrentProcess.ExeFile

loo30fer
دوشنبه 30 خرداد 1390, 15:02 عصر
برای من که یک کاربر مبتدی ام کدوم روش راحتره آیا ProcessInfo چون میخوام این رو تو پلاگین برای بیلدر استفاده کنم؟

vcldeveloper
دوشنبه 30 خرداد 1390, 19:00 عصر
برای من که یک کاربر مبتدی ام کدوم روش راحتره آیا ProcessInfo چون میخوام این رو تو پلاگین برای بیلدر استفاده کنم؟
بله؛ ProcessInfo بهتون این امکان رو میده که بدون درگیر شدن با توابع API ویندوز، همچین اطلاعاتی رو استخراج کنید. البته در دلفی، تابع ParamStr(0) رو هم امتحان کنید، این تابع با پارامتر صفر، آدرس فایل اجرایی برنامه رو برگشت میده. من بررسی نکردم که آیا توی DLL هم به درستی کار میکنه یا نه؛ می تونید تست کنید، اگر کار کرد، استفاده از ParamStr براتون ساده تر خواهد بود.