Diese Seite beschreibt, wie man eine Konsolapplikation mit einem Icon ausstatten kann. Die Anzeige im Explorer sieht dann etwas hübscher aus -siehe das folgende Bild beim Eintrag „enumwin.exe”. Im folgenden Bild wird das Programm enumwin.exe mit dem Icon fach.ico hervorgehoben. |
![]() |
Außerdem wurde eine Verknüpfung auf enumwin.exe angelegt. Im Eigenschaftsfenster werden alle drei in das Programm eingebundene Icons angezeigt, so dass man bequem bei der Verknüpfung ein abweichendes Icon aussuchen kann. Die drei Icon-Dateien sind im angezeigten Verzeichnis abgelegt. Sie können jedoch auch in anderen Verzeichnissen stehen. |
![]() |
Hier werden links die Programmeigenschaften eines beliebigen Programms aus dem Hause Microsoft angezeigt. Die meisten angezeigten Programmeigenschaften von enumwin.exe wurden dem Programm mit genau der Steuerdatei angedient, die auch die Icons eingebunden hat. Die Steuerdatei heißt rsrc.rc. Ihre Syntax entspricht der Syntax für die Programmiersprache C: Kommentare stehen hinter zwei Bruchstrichen. //Microsoft Developer Studio generated resource script. // #include '\masm32\include\resource.h' // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. 500 ICON DISCARDABLE 'fach.ico' 501 ICON DISCARDABLE 'favicon.ico' 502 icon discardable 'hammer.ico' // Version VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,1 PRODUCTVERSION 1,0,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG // ergibt false FILEFLAGS 0x9L #else FILEFLAGS 0x8L #endif FILEOS 0x40004L FILETYPE 0x1L FILESUBTYPE 0x0L BEGIN BLOCK 'StringFileInfo' BEGIN BLOCK '040704b0' BEGIN VALUE 'Comments', 'Übungsprogramm\0' VALUE 'CompanyName', 'entfällt\0' VALUE 'FileDescription', 'Übungsprogramm / Konsolapplikation\0' VALUE 'FileVersion', '1, 0, 0, 1\0' VALUE 'InternalName', 'Enumerate\0' VALUE 'LegalCopyright', 'Copyright © 2013 Freeware\0' VALUE 'LegalTrademarks', 'entfällt\0' VALUE 'OriginalFilename', 'Enumerate.exe\0' VALUE 'PrivateBuild', 'Fredrik Matthaei, Hamburg\0' VALUE 'ProductName', 'entfällt\0' VALUE 'ProductVersion', '1, 0, 0, 1\0' VALUE 'SpecialBuild', '\0' END END BLOCK 'VarFileInfo' BEGIN VALUE 'Translation', 0x407, 1200 END END ![]() Die Bedeutung der verwendeten Schlüsselworte lässt sich in der Datei \masm32\bin\rc.hlp nachlesen. |
Der MASM32-SDK bietet eine Alternative zum Erstellen einer solchen Datei
Die generierte Datei muss man anschließend mit einem Texteditor anpassen. Sollen die weiteren Verarbeitungsschritte mit MASM32-SDK erfolgen, muss man die Datei unter dem Namen rsrc.rc in genau das Verzeichnis schreiben, in dem das Assembler-Quellprogramm steht. Das liegt daran, dass in den Skripten unter \masm32\bin der Name rsrc.rc fest eingetragen ist. Wer mag, kann die Skripte anpassen! Der Skript \masm32\bin\bldallc.batrMit diesem Skript wird bei MASM32-SDK das Assemblerquellprogramm für eine Konsolapplikation assembliert und gelinkt:@echo off if not exist rsrc.rc goto over1 \masm32\bin\rc /v rsrc.rc \masm32\bin\cvtres /machine:ix86 rsrc.res :over1 if exist %1.obj del %1.obj if exist %1.exe del %1.exe \masm32\bin\ml /c /coff %1.asm if errorlevel 1 goto errasm if not exist rsrc.obj goto nores \masm32\bin\Link /SUBSYSTEM:CONSOLE /OPT:NOREF %1.obj rsrc.obj if errorlevel 1 goto errlink dir %1.* goto TheEnd :nores \masm32\bin\Link /SUBSYSTEM:CONSOLE /OPT:NOREF %1.obj if errorlevel 1 goto errlink dir %1.* goto TheEnd :errlink echo _ echo Link error goto TheEnd :errasm echo _ echo Assembly Error goto TheEnd :TheEnd pauseLeicht ist zu erkennen, dass die Verarbeitung der Resourcesteuerdatei rsrc.rc nur ausgeführt wird, wenn sie im gleichen Verzeichnis wie die Assemblerquelldatei vorhanden ist. Ist sie vorhanden, wird durch Aufruf von
|