Ich möchte ein anderes Symbol für die Demoversion meines Spiels verwenden, und ich baue die Demo mit einer anderen Build-Konfiguration als ich für die vollständige Version, mit einem Präprozessor definieren, um einige Inhalte zu sperren, verwenden Sie andere Grafiken, etc. Gibt es eine Möglichkeit, dass ich Visual Studio ein anderes Icon für das App-Icon in der Demo-Konfiguration verwenden kann, aber weiterhin das normale Icon für die Vollversion der Konfiguration verwende?App-Symbol in Visual Studio 2005 ändern?
Antwort
Gemäß this page können Sie Präprozessordirektiven in Ihrer * .rc Datei verwenden. Sie sollten so etwas wie dieses
#ifdef _DEMO_VERSION_
IDR_MAINFRAME ICON "demo.ico"
#else
IDR_MAINFRAME ICON "full.ico"
#endif
Das wird Sie auf halbem Weg dorthin gelangen: http://www.codeproject.com/KB/dotnet/embedmultipleiconsdotnet.aspx
Dann müssen Sie die Win32-Aufruf finden, die das angezeigte Symbol aus der Liste der eingebetteten Symbolen eingestellt werden.
Ich kenne keinen Weg in Visual Studio, weil die Anwendungseinstellungen an das Loch-Projekt gebunden sind. Aber eine einfache Möglichkeit besteht darin, ein PreBuild-Ereignis zu verwenden und app.demo.ico nach app.ico oder app.release.ico nach app.ico zu kopieren, indem Sie nach dem Wert des Schlüssels $ (ConfigurationName) fragen und in der App nachsehen. ico in Ihrem Projektverzeichnis.
schreiben Was ich tun würde Setup ein Pre-Build-Ereignis ist (Projekteigenschaften -> Konfigurationseigenschaften -> Build Events -> Pre-Build-Ereignis). Das Pre-Build-Ereignis ist eine Befehlszeile. Ich würde dies verwenden, um die entsprechende Symboldatei in das Erstellungssymbol zu kopieren.
Angenommen, Ihr Build-Symbol ist "app.ico". Ich würde mein Fullicon "app_full.ico" und mein Demo-Icon "app_demo.ico" machen. Dann würde ich meine Pre-Build-Ereignisse wie folgt festgelegt:
Vollmodus Pre-Build-Ereignis:
del app.ico | copy app_full.ico app.ico
Demo-Modus Pre-Build-Ereignis:
del app.ico | copy app_demo.ico app.ico
Ich hoffe, das hilft!
Sie können tatsächlich Präprozessordirektiven in Ihrer RC-Datei verwenden. Ich würde sagen, das ist der Weg, es zu tun. +1 –
Dies ist die beste Lösung. Ich habe nicht bemerkt, dass es zuerst funktioniert, weil der Explorer mein Icon zwischengespeichert hat, also habe ich auch entdeckt, dass Sie die Bedingungen über diese Icon-Eigenschaften im Ressourcen-Viewer einstellen können. – CariElf