PDA

View Full Version : سوال: بدست آوردن آیکون فایل ink



amirrr3
پنج شنبه 14 اردیبهشت 1391, 20:25 عصر
سلام دوستان
چطور می تونم آیکون یه فایل ink یا همون شورتکات رو بدست بیارم؟

Mahmoud Zaad
پنج شنبه 14 اردیبهشت 1391, 20:47 عصر
سلام
اینجا (http://support.microsoft.com/?kbid=319350)رو ببینید.

amirrr3
شنبه 16 اردیبهشت 1391, 17:54 عصر
تو سایت های خارجی خیلی گشتم تا تونستم یه کد بهینه واسه این کار پیدا کنم
این کد رو اینجا میزارم تا شاید بدرد کسی دیگه از دوستان هم بخوره

اول از همه این رفرنس رو از کام به پروژه اضافه کنید
Windows Script Host Object Model

و در ادامه


using IWshRuntimeLibrary;

واسه فایهای exe مشکلی نداریم و به راحتی میشه آیکن رو گرفت. طبق کد زیر


Icon exeIcon = Icon.ExtractAssociatedIcon(exePath);


ولی اگه بخوایم از یه فایل شورتکات که با پسوند lnk هست آیکون دریافت کنیم ابتدا با کد زیر که مربوط به رفرنس بالا میشه مسیر اصلی فایل exe رو پیدا می کنیم و تو متد بالا قرار میدیم



WshShell shell = new WshShell();
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(lnkfilepathe);
Icon exeIcon = Icon.ExtractAssociatedIcon(link.TargetPath);