سؤال

لدي تطبيق ينتج الملفات. أرغب في توصيل تلك الملفات بالتطبيق بحيث تنقر نقرًا مزدوجًا في الملف على تشغيل طلبي.

كل شيء يعمل بشكل صحيح باستثناء الإزعاج الذي يبدو أن الرمز نفسًا مثل أيقونة طلبي. أرغب في الحصول على أيقونة واحدة للتطبيق وأيقونة واحدة لمستنداته.

تتطلب قيمة DefaultIcon في السجل "app.exe ، 1" بناء جملة حيث 1 فهرس أيقونة. يبدو أن .NET Resources ليست موارد Win32.

حاولت المتابعة ولكن دون نجاح:

  1. اختيار "مورد مضمن" كإجراء بناء الملف.
  2. إضافة أيقونة إلى ملف المورد.

الشيء الوحيد الذي نجح هو وجود ملف رمز منفصل عن التنفيذ والإشارة إليه. ومع ذلك ، يبدو لي مثل الاستسلام.

هل توجد أية أفكار لحل هذا؟

هل كانت مفيدة؟

المحلول

هل حاولت إعداد 2 كمؤشر أيقونة؟

تحرير: لقد وجدت طريقة ولكن عليك القيام بذلك مرة أخرى لكل بناء جديد.

  1. افتح ملف .exe في Visual Studio (ملف -> فتح الملف)
  2. انقر بزر الماوس الأيمن على مجلد الأيقونة وحدد إضافة مورد
  3. انقر فوق الزر استيراد
  4. حدد ملف .ico الخاص بك
  5. قد تضطر إلى العبث بأرقام الأيقونات ، وأعتقد أن أدنى رقم (مثال 101) سيكون أيقونة التطبيق
  6. تذكر رقم الرمز الجديد وقم بتعيينه على أنه الفهرس

تحرير 2: جرب هذا المقال: http://www.codeproject.com/kb/dotnet/embedmultipleiconsdotnet.aspx

نصائح أخرى

إذا كنت تستخدم مجموعة أدوات WIX (http://www.wixtoolset.org) لتثبيت التطبيق الخاص بك ، يمكنك الحصول على wix لرعاية نوع الملف وتسجيل أيقونة المستند

إليكم تعويذة Wix Magic:

    <!-- Your executable -->
    <File 
        Id="MaAppExe" 
        Name="MyApp.exe" 
        Source="MyApp.exe" KeyPath="yes" >
    </File>

    <!-- your document icon -->
    <File 
        Id='IconMyAppDoc.ico' 
        Name='IconMyAppDoc.ico' 
        Source='$(var.MyApp.ProjectDir)\Resources\Images\Icons\docicon.ico' />

    <-- File Extension and associated document icon -->
    <ProgId 
        Id='MyApp.MyAppExtension' 
        Description='My App Data File' 
        Icon='IconMyAppDoc.ico'>
        <Extension 
            Id='MyApp' 
            ContentType='text/plain'>
            <Verb 
                Id='open' 
                Command='Open' 
                TargetFile="MyAppExe" 
                Argument='"%1"' />
         </Extension>
    </ProgId>
</Component>

DefaultIcon سوف يقبل أيضًا مسارًا إلى ملف .ico صالح كرمز.

عليك أن تتأكد من أن لديك أيقونات Win32 في مشروعك وليس فقط أيقونات .NET. آمل أن يشير شخص ما إلى طريقة سهلة للقيام بذلك ، ولكن في الوقت نفسه ، هنا يذهب ...

قم بتجميع التجميع الخاص بك ، ثم من Visual Studio حدد "ملف -> فتح -> فتح ملف" ، افتح التجميع المترجمة. أضف الرمز الذي تريد استخدامه للمستندات وتعيين معرفه على شيء أعلى من استخدام التطبيق الخاص بك. حفظ التجميع. الآن لديك موارد Win32 المتاحة.

-- يحرر --
بعد تحرير منشوره ، يبدو أن Zippyv لديه إجابة جيدة جدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top