Wenn wir jeden Tag Computer benutzen, müssen wir oft einige häufig verwendete Programme öffnen. Diese Programme zeigen auf unserer Benutzeroberfläche ein bestimmtes Symbol an, damit wir sie schnell identifizieren und finden können. In einigen Fällen möchten wir diese Programmsymbole jedoch möglicherweise ändern, um sie beispielsweise besser an unsere persönlichen Vorlieben oder Themen anzupassen.
In diesem Artikel konzentrieren wir uns darauf, wie man Golang und einige Systembibliotheken verwendet, um das Symbol des Programms zu ändern. Wir werden Windows als Demonstrationsumgebung verwenden.
Lassen Sie uns zunächst die grundlegenden Schritte skizzieren, die wir ausführen müssen:
Als nächstes besprechen wir, wie Sie diese Schritte nacheinander ausführen.
Schritt eins: Öffnen Sie die Ressourcendatei und suchen Sie die Symbolressource.
In Golang können wir die Funktion in der Systembibliothek „syscall“ verwenden, um die Datei zu öffnen und zu lesen. Dazu müssen wir einige notwendige Variablen definieren:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Wir verwenden hier mehrere Funktionen in der Windows-API, nämlich „BeginUpdateResourceW“, „UpdateResourceW“ und „EndUpdateResourceW“. Diese Funktionen können uns dabei helfen, die Ressourcen in der Programmressourcendatei zu verwalten.
Als nächstes müssen wir die Ressourcendatei des Programms öffnen, das wir ändern möchten (kann eine EXE- oder DLL-Datei sein) und die Symbolressource finden. Hier verwenden wir eine Funktion namens „findIconIndex“, um die Programmressourcendatei zu durchsuchen und die Indexnummer zu finden, unter der sich die Symbolressource befindet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
|
Diese Funktion durchläuft jeden Abschnitt (.rsrc) in der Programmressourcendatei und findet den Index der Symbolressource. Normalerweise hängt die Indizierung von der Größe und dem Format der Symbolressource ab. Wir können nach eigenem Ermessen entscheiden, welchen Index die Symbolressource in der Ressourcendatei ändern soll.
Schritt 2: Fügen Sie die neue Symbolressource zur Ressourcendatei hinzu
Um die neue Symbolressource zur Programmressourcendatei hinzuzufügen, müssen wir sie zuerst im ICO-Dateiformat speichern. Wir können die Bildbibliothek in Golang verwenden, um ICO-Dateien zu erstellen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
Diese Funktion erstellt einen ICO-Dateiheader und hängt die Symbolressource daran an. Der Header der ICO-Datei enthält notwendige Informationen zu den Symbolressourcen in der ICO-Datei.
Als nächstes schreiben wir sie in Ressourcendateien. Dazu müssen wir die Funktionen „BeginUpdateResource“, „UpdateResource“ und „EndUpdateResource“ in der Windows-API verwenden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
Schritt 3: Ändern Sie die .manifest-Datei des Programms
Wir müssen die .manifest-Datei des Programms ändern, damit es auf die neue Symbolressource zugreifen kann. Dazu müssen wir der .manifest-Datei Folgendes hinzufügen:
1 2 3 4 |
|
Dadurch wird dem Programm eine Symbolressourcen-Indexnummer zugewiesen, damit es die neue Symbolressource verwenden kann. Wir können die OS-Bibliothek in Golang verwenden, um die .manifest-Datei zu ändern.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Jetzt wissen wir, wie man das Symbol des Programms mithilfe von Golang- und Systembibliotheken ändert. Wenn wir diese Schritte zusammenfügen, erstellen wir eine vollständige Funktion. Hier ist ein Beispielcode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
|
Das obige ist der detaillierte Inhalt vonÄnderung des Golang-Programmsymbols. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!