PDA

View Full Version : تعیین آیکون برای فایل خروجی برنامه



homan1374
یک شنبه 01 فروردین 1389, 13:55 عصر
با سلام خدمت برنامه نویسان عزیز . ضمن تبریک سال نو
یه پرسش برام پیش اومده که امید وارم اینجا حل بشه
حتما تو برنامه هایی مثل Ms word و یا ...
دید که فایل های خروجی برنامه آیکونی مشخص داره
حالا اگه ما بخواهیم برای فایل خروجی برنامه مون آیکون بزاریم چیکار باید کنیم

Sirwan Afifi
یک شنبه 01 فروردین 1389, 18:27 عصر
اگه برنامه رو می خوای برای End User است باید در هنگام ساخت ستاپ برنامه آیکون رو تعریف کنی
اینم از آموزش ساخت ستاپ در دات نت :
http://barnamenevis.org/forum/attachment.php?attachmentid=23172&d=1221416406
و یا اگر برای خودت همون مثل ویندوزه Chane Icon

Salah Sanjabian
یک شنبه 01 فروردین 1389, 18:33 عصر
سلام دوست عزیز نمیدونم از چه نصاب سازی استفاده میکنی ولی اگه از خود ویژوال استودیو استفاده میکنی
بعد از اینکه فایل اجرایی برنامه رو به پروژه از نوع ستاپ ویزارد اضافه کردی اون فایل به فولدر Application Folder
اضافه میشه.
حالا شما دو تا پوشه دیگه داری User’s Desktop , User’s Program menue
رو هر کدوم از این دو تا پوشه که میخوای کلیک کن و در پنل سمت راست یه راست کلیک کن و Create New ShortcutهApplication Folderرو بزن که به فایل اجرایی برنامه
هست اشاره کنه
تو قسمت Propertice
این شرت کات میتونی آیکن برنامه ات رو هم تعیین کنی. البته قبلا یه آیکن هم به پوشه Application Folder
اضافه کن.

Netsky
یک شنبه 01 فروردین 1389, 19:58 عصر
سلام .
با تشکر از دو دوست عزیزی که در دو پست بالا پاسخ هایی رو ذکر کردند . ولی بنده فکر نکنم منظور دوست عزیزمون آقای homan1374 چیزایی که شما عزیزان گفتید باشه .
فکر کنم آقا همون میخان برنامشون فایلی رو که تولید میکنه شبیه آیکون برنامه خودشون باشه . مثلا اگه از مرورگر فایرفاکس یا کروم و یا هر مرورگر دیگه ای استفاده کرده باشید در هنگام ذخیره صفحات با این مرورگرها میبینید که صفحات ذخیره شده با آیکون همون مرورگر ذخیره میشن .
البته خودم هم دوست دارم بدونم این امر چه طور امکان پذیره ؟؟؟
لطفا اساتید محترم راهنمایی کنن .
با تشکر ...................

Sirwan Afifi
یک شنبه 01 فروردین 1389, 20:13 عصر
سلام .
با تشکر از دو دوست عزیزی که در دو پست بالا پاسخ هایی رو ذکر کردند . ولی بنده فکر نکنم منظور دوست عزیزمون آقای homan1374 چیزایی که شما عزیزان گفتید باشه .
فکر کنم آقا همون میخان برنامشون فایلی رو که تولید میکنه شبیه آیکون برنامه خودشون باشه . مثلا اگه از مرورگر فایرفاکس یا کروم و یا هر مرورگر دیگه ای استفاده کرده باشید در هنگام ذخیره صفحات با این مرورگرها میبینید که صفحات ذخیره شده با آیکون همون مرورگر ذخیره میشن .
البته خودم هم دوست دارم بدونم این امر چه طور امکان پذیره ؟؟؟
لطفا استاتید محترم راهنمایی کنن .
با تشکر ...................

دوست عزیز برای تولید فایل(در هنگام تولید فایل) می تونی با استفاده از توابع API آیکون برنامه رو تغییر بدی با استفاده از همون تکنیک تغییر آیکون ویندوز ولی با این تفاوت که باید به صورت کد باشه.در کل ایده ی خوبیه منم یه کم با این موضوع ور می رم اگه تونستم بنویسم کدشو براتون می ذارم

homan1374
یک شنبه 01 فروردین 1389, 20:29 عصر
سلام .
با تشکر از دو دوست عزیزی که در دو پست بالا پاسخ هایی رو ذکر کردند . ولی بنده فکر نکنم منظور دوست عزیزمون آقای homan1374 چیزایی که شما عزیزان گفتید باشه .
فکر کنم آقا همون میخان برنامشون فایلی رو که تولید میکنه شبیه آیکون برنامه خودشون باشه . مثلا اگه از مرورگر فایرفاکس یا کروم و یا هر مرورگر دیگه ای استفاده کرده باشید در هنگام ذخیره صفحات با این مرورگرها میبینید که صفحات ذخیره شده با آیکون همون مرورگر ذخیره میشن .
البته خودم هم دوست دارم بدونم این امر چه طور امکان پذیره ؟؟؟
لطفا اساتید محترم راهنمایی کنن .
با تشکر ...................
اقا منم دقیقا منظورم همینه

Netsky
یک شنبه 01 فروردین 1389, 22:59 عصر
سلام .
یه مقدار سرچ کردم و احتمال میدم اینکار با استفاده از رجیستری ویندوز قابل انجام باشه .
اگه تونستم کاری کنم حتما دوستان رو در جریان میگذارم .

homan1374
چهارشنبه 04 فروردین 1389, 12:21 عصر
با سلام
دوستان به کجا رسیدین
آیا راهی وجود داره

exlord
چهارشنبه 04 فروردین 1389, 12:47 عصر
یه پسوند برای فایلت بده و تو رجیستری ثبت کن این پسوندو با آیکونش........
http://mel-green.com/2009/04/c-set-file-type-association/
http://www.codeproject.com/KB/cs/GetFileTypeAndIcon.aspx

homan1374
چهارشنبه 04 فروردین 1389, 15:14 عصر
یه پسوند برای فایلت بده و تو رجیستری ثبت کن این پسوندو با آیکونش........
http://mel-green.com/2009/04/c-set-file-type-association/
http://www.codeproject.com/KB/cs/GetFileTypeAndIcon.aspx
با تشکر از شما
خیلی به اون چیزی که میخوام نزدیک شدم
ولی میشه بیشتر توضیح بدین

exlord
چهارشنبه 04 فروردین 1389, 17:53 عصر
توضیح که خودش داده اونجا.........
اون کلاسی رو که تو این سایت هست کلا بردار .......
http://mel-green.com/2009/04/c-set-f...e-association/ (http://mel-green.com/2009/04/c-set-file-type-association/)
و این متد رو اجرا کن .... البته فقط باید یکبار اجرا بشه ......

if (!FileAssociation.IsAssociated(".ext"))
Associate(".ext", "ClassID.ProgID", "ext File", "YourIcon.ico", "YourApplication.exe");


.ext --> به جای این یه پسوند از خودت بده و باید تمام اون فایل هارم با این پسوند ذخیره کنی.....
ClassID.ProgID --> یه ID و یا نام اختصاصی برای برنامت
ext file --> توضیح درباره فایلت - میتونه خالی باشه.........
YourIcon.ico --> فایل آیکون
YourApplication.exe --> خود برنامت

این متد یه File Association تو رجیستری windows ثبت میکنه ..... یعنی یه برنامه ی اجرایی و یه آیکون رو به یه نوع فایل نسبت میده.....

saviorperi
سه شنبه 11 مرداد 1390, 12:50 عصر
توضیح که خودش داده اونجا.........
اون کلاسی رو که تو این سایت هست کلا بردار .......
http://mel-green.com/2009/04/c-set-f...e-association/ (http://mel-green.com/2009/04/c-set-file-type-association/)
و این متد رو اجرا کن .... البته فقط باید یکبار اجرا بشه ......

if (!FileAssociation.IsAssociated(".ext"))
Associate(".ext", "ClassID.ProgID", "ext File", "YourIcon.ico", "YourApplication.exe");


.ext --> به جای این یه پسوند از خودت بده و باید تمام اون فایل هارم با این پسوند ذخیره کنی.....
ClassID.ProgID --> یه ID و یا نام اختصاصی برای برنامت
ext file --> توضیح درباره فایلت - میتونه خالی باشه.........
YourIcon.ico --> فایل آیکون
YourApplication.exe --> خود برنامت

این متد یه File Association تو رجیستری windows ثبت میکنه ..... یعنی یه برنامه ی اجرایی و یه آیکون رو به یه نوع فایل نسبت میده.....

دوستان من از این روش استفاده کردم. ولی دو تا مشکل وجود داره، اول اینکه آیکن فایل ها تغییر نکرد که سعی میکنم خودم درستش کنم، مشکل مهمتر اینه که برنامه به صورت معمولی باز میشه، یعنی کنترلهای برنامه بر اساس فایلی که برنامرو فراخوانی کرده مقدار دهی نمیشن. برای حل این مشکل دو تا سوال دارم که ممنون میشم جواب بدین :

1- تو کدهای برنامه چطور میتونم برسی کنم که برنامه به صورت عادی اجرا شده یا توسط یک فایل فراخوانی شده ؟
2- اگه برنامه به خاطر فراخوانی یک فایل اجرا شده باشه، آدرس اون فایل رو چطور میتونم بدست بیارم ؟

دوستان منتظر کمک هاتون هستم

saviorperi
سه شنبه 11 مرداد 1390, 20:09 عصر
کسی نمیتونه کمک کنه ؟