ايران ويج

نسخه‌ی کامل: exe Icon Changer
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام
دوستان سورس کدی برای این موضوع دارند ؟؟؟
اینکه بتونیم مثلا یه فایل exe رو انتخاب کنیم و آیکون یه فایل exe دیگه رو بهش بدیم
دو تابع برای استخراج آیکون از درون یک فایل نیازه :

Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As
Long) As Long

Public Declare Function DrawIcon Lib "user32" Alias "DrawIcon" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long

---------------------------------------------------------------------------------------

اول با استفاده از تابع ExtractIcon آیکون را استخراج و با DrawIcon آیکون را روی یک شی گرافیکی رسم می کنی مثل : PictureBox

سپس تصویر را ذخیره و سپس آیکون برنامه را تغییر می دی که برای این کار یک مثال با دو زبان برات گذاشتم :

این برای ویژوال بیسیک :

[attachment=1273]

اینم برای ویژوال سی ++ :

[attachment=1274]
اینم یه icon changer به زبان دلفی
yeketaz نوشته است:دو تابع برای استخراج آیکون از درون یک فایل نیازه :

Public Declare Function ExtractIcon Lib "shell32.dll" Alias "ExtractIconA" (ByVal hInst As Long, ByVal lpszExeFileName As String, ByVal nIconIndex As
Long) As Long

Public Declare Function DrawIcon Lib "user32" Alias "DrawIcon" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal hIcon As Long) As Long

---------------------------------------------------------------------------------------

اول با استفاده از تابع ExtractIcon آیکون را استخراج و با DrawIcon آیکون را روی یک شی گرافیکی رسم می کنی مثل : PictureBox

سپس تصویر را ذخیره و سپس آیکون برنامه را تغییر می دی که برای این کار یک مثال با دو زبان برات گذاشتم :

این برای ویژوال بیسیک :



اینم برای ویژوال سی ++ :

یه نمونه سورس دیگه نداری ؟؟؟
آخه من اینا رو برای visual basic 2008 کانورت میکنم.گاهی درست کار میکنه . گاهی نه.
الان به سر تا پای این گیر داد
من تا حالا حتی شکل VB.Net 2008 رو هم ندیدم

ولی مایکروسافت گفته از توابع API در برنامه هاتون استفاده نکنید

چون کلاسهای نت اینقدر کامل هست که نیازی به استفاده از API نباشه

----------------------------------------------------------------------------------------

اینا یادم رفت بگم :

معلومه اینا را قبول نمی کنه

چون این تعریف API در قالب VB6 است و نوعهای VB6 با سری Net فرق می کنه
دقیقا حق با شماست
این که من همیشه میگم دوستان کم کم اسباب کشی کنن به من ملحق شن همینه دیگههههههههههه
الان به عنوان مثال برای گرفتن آیکون یه فایل من فقط یک خط کد مینویسم
اونم اینه
picSource.Image = Drawing.Icon.ExtractAssociatedIcon(openDLG.FileName).ToBitmap
در صورتی که شما VB 6 کار ها چند ده خط .
yeketaz نوشته است:من تا حالا حتی شکل VB.Net 2008 رو هم ندیدم

ولی مایکروسافت گفته از توابع API در برنامه هاتون استفاده نکنید

چون کلاسهای نت اینقدر کامل هست که نیازی به استفاده از API نباشه

----------------------------------------------------------------------------------------

اینا یادم رفت بگم :

معلومه اینا را قبول نمی کنه

چون این تعریف API در قالب VB6 است و نوعهای VB6 با سری Net فرق می کنه

مشکلی با تعریف api نداره . چون خودش اونها رو کانورت میکنه
یکی از مشکلاش اینه که شما متغیری از نوع any دارید ولی ما نداریم
behjaf نوشته است:دقیقا حق با شماست
این که من همیشه میگم دوستان کم کم اسباب کشی کنن به من ملحق شن همینه دیگههههههههههه
الان به عنوان مثال برای گرفتن آیکون یه فایل من فقط یک خط کد مینویسم
اونم اینه
picSource.Image = Drawing.Icon.ExtractAssociatedIcon(openDLG.FileName).ToBitmap
در صورتی که شما VB 6 کار ها چند ده خط .

جدي ميگي؟! جالبه‌!
براي اجراي برنامه چيزي نمي خواد؟ راحت اجرا ميشه؟
نه چيز ديگه اي نمي خواد البته به جز دات نت فريم ورك!Wink
(۲۰-مرداد-۱۳۸۷, ۲۱:۵۴:۲۸)Di Di نوشته است: [ -> ]نه چيز ديگه اي نمي خواد البته به جز دات نت فريم ورك!Wink

این خودش کم چیزیه؟