مهدی رحیم زاده
دوشنبه 12 آذر 1386, 06:36 صبح
سلام.
توی رجیستری، زیر HKEY_CLASSES_ROOT، دنباله فایلها بصورت کلیدهای جداگانه نوشته شده. مثلا .txt نمایانگر فایلهایی با دنباله txt (همون فایلهای text) هستش. اگر Default Value این کلید رو نگاه کنید، یه String میبینید. مثلا تو این حالت txtfile.
این نام کلیدی هستش که باید بهش رجوع کنیم. یعنی باید بریم سراغ کلید زیر:
HKEY_CLASSES_ROOT\txtfile
اگر به این کلید دقت کنید، یه کلید دیگه به اسم DefaultIcon میبینید که Default Value اون، نشون دهنده ICON ای هستش که شما بدنبالش هستید. بسیاری از Icon ها، حاوی همچین مقداری هستن:
%SystemRoot%\system32\shell32.dll,-152
152 نشوندهنده شماره Resource اون آیکون در فایل Shell32.dll هستش. از اینجا به بعد نیاز به Win32 API ها دارید تا بتونید Resource ها رو Extract کنید و شماره مورد نظرتون رو از دل اون فایل بیرون بکشید. متودی که اینکار رو براتون انجام میده، prototype اش اینه:
HICON ExtractIcon(HINSTANCE hInst, LPCTSTR lpszExeFileName, UINT nIconIndex);
کافی هستش که اینو در C#، تعریف کرده و سپس روند توضیح داده شده رو طی کنید تا به Icon مورد نظر برسید.
اینو یکی از دوستامون زحمت کشیدن و برام گذاشتن ولی من نتونستم این کد رو توی سی شارپ تعریف کنم تا بتونم از اون استفاده کنم ، حالا اگر کسی می تونه راهنمایی کنه ...
خیلی ضروری لازمش دارم اینو !!!
ممنون
توی رجیستری، زیر HKEY_CLASSES_ROOT، دنباله فایلها بصورت کلیدهای جداگانه نوشته شده. مثلا .txt نمایانگر فایلهایی با دنباله txt (همون فایلهای text) هستش. اگر Default Value این کلید رو نگاه کنید، یه String میبینید. مثلا تو این حالت txtfile.
این نام کلیدی هستش که باید بهش رجوع کنیم. یعنی باید بریم سراغ کلید زیر:
HKEY_CLASSES_ROOT\txtfile
اگر به این کلید دقت کنید، یه کلید دیگه به اسم DefaultIcon میبینید که Default Value اون، نشون دهنده ICON ای هستش که شما بدنبالش هستید. بسیاری از Icon ها، حاوی همچین مقداری هستن:
%SystemRoot%\system32\shell32.dll,-152
152 نشوندهنده شماره Resource اون آیکون در فایل Shell32.dll هستش. از اینجا به بعد نیاز به Win32 API ها دارید تا بتونید Resource ها رو Extract کنید و شماره مورد نظرتون رو از دل اون فایل بیرون بکشید. متودی که اینکار رو براتون انجام میده، prototype اش اینه:
HICON ExtractIcon(HINSTANCE hInst, LPCTSTR lpszExeFileName, UINT nIconIndex);
کافی هستش که اینو در C#، تعریف کرده و سپس روند توضیح داده شده رو طی کنید تا به Icon مورد نظر برسید.
اینو یکی از دوستامون زحمت کشیدن و برام گذاشتن ولی من نتونستم این کد رو توی سی شارپ تعریف کنم تا بتونم از اون استفاده کنم ، حالا اگر کسی می تونه راهنمایی کنه ...
خیلی ضروری لازمش دارم اینو !!!
ممنون