PDA

View Full Version : چگونه میتوان فهمید یک نرم افزار یک فایل را باز کرده است؟



هم دانشگاهی
پنج شنبه 28 شهریور 1392, 19:08 عصر
سلام
چگونه میتوان به کمک سی پلاس پلاس نام نرم افزاری را که هم اکنون فایلی را باز کرده بدست آورد؟

ممنون میشم کمکم کنین که با چه عنوانی سرچ کنم؟

UfnCod3r
پنج شنبه 28 شهریور 1392, 20:41 عصر
هم اکنون منظرت کی هست . الان . نه کسی فایل وا نکرده :بامزه:
با hook کردن توابعی مثل CreateFile می تونی به نتیجه برسی
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx
http://www.codeproject.com/Articles/30537/Windows-File-Monitoring-System-Using-Windows-API-H
:متفکر:

Felony
پنج شنبه 04 مهر 1392, 21:45 عصر
با hook کردن توابعی مثل CreateFile می تونی به نتیجه برسی
چه ربطی داشت ؟!

وقتی فایل قبل از اجرای برنامه شما توسط برنامه ای باز شده ، بعد از اینکه برنامه شما باز میشه دیگه از کجا میتونه بفهمه ؟ چی رو میخواد Hook کنه ؟

باید از تابع NtQuerySystemInformation (http://msdn.microsoft.com/en-us/library/ms724509%28VS.85%29.aspx)استفاده کنید ، البته معادل های جدیدی هم براش تو همون MSDN معرفی شده که بهتره از آنها استفاده بشه .

این ها هم میتوه مفید باشه :

http://stackoverflow.com/questions/1575286/delphi-get-what-files-are-opened-by-an-application
http://stackoverflow.com/questions/8726906/delphi-finding-the-process-that-is-accessing-a-file-from-my-program
http://msdn.microsoft.com/en-us/library/ms683214(v=vs.85).aspx