2010-10-19 12 views
3

Je suis en train de développer une application simple qui est censée copier simplement un autre fichier exécutable existant et changer son icône. Est-ce possible de réaliser avec .NET? Je demande à propos de changement d'icône, la copie n'est pas un problème.Modification de l'icône exe externe au moment de l'exécution

Je n'ai aucune idée sur comment et par où commencer. J'ai cherché sur Google, mais je n'ai trouvé que du code C++ non géré que je ne connais pas très bien.

Ce message n'a rien à modifier avec l'icône de l'application en cours d'exécution, mais plutôt en changeant l'icône d'une application externe (visible dans l'Explorateur Windows).

Toute aide serait appréciée.

Merci.

Répondre

7

.NET n'a aucun support pour cela. L'icône est stockée dans les ressources non managées incorporées dans un fichier .exe. Vous pouvez les voir avec Fichier + Ouvrir + Fichier, sélectionnez le fichier .exe et ouvrez le nœud Icônes. L'icône numérotée la plus basse est celle utilisée par Windows.

La mise à jour de ces ressources nécessite normalement la reconstruction du fichier .exe. Heureusement, l'API Windows prend en charge la mise à jour des ressources à la volée. Il a des restrictions mais cela ne devrait pas vous affecter pour les icônes. Vous aurez besoin de BeginUpdateResource, UpdateResource et EndUpdateResource. Méfiez-vous qu'ils sont pas facile à utiliser, vous devez connaître le numéro de ressource de l'icône. Visitez pinvoke.net pour les déclarations dont vous aurez besoin.

-3

Supposons que vous utilisez Visual Studio/Visual C# Express Edition.

Pour ce faire, essayez d'accéder à Projet> Propriétés de votre application. Dans l'onglet Application, modifiez la zone de liste déroulante Icône à l'icône que vous souhaitez.

+1

Cela n'a rien à voir avec cette question, il essaie d'obtenir son programme pour changer l'icône d'un autre programme. N'essayez pas de changer l'icône de son propre programme. Il dit même explicitement que dans sa question "* Ce message n'a rien à voir avec l'icône de l'application en cours d'exécution, mais plutôt ** changer l'icône d'une application externe ** (visible dans l'Explorateur Windows). *" Veuillez modifier votre réponse être sur le sujet ou le supprimer. –

Questions connexes