Aktualisiert am 09.11.2019
Dies ist ein altes Projekt ... Ich kam in der Grundschule mit VB6 in Kontakt und schrieb viele Programme nacheinander. Während der Sommerferien, als ich in die Mittelschule kam, schien ich dieses Projekt mit der Idee begonnen zu haben: „Ich habe vor, eine neue Sprache zu lernen und zum Abschied schließlich mit VB ein Plug-In für VB6 zu schreiben“ ( es scheint, als wäre ich jetzt in der Mittelschule hhh). Es ist jedoch nicht das „Abschiedswerk“, das ich erwartet hatte, aber es hat mich während der gesamten drei Jahre der Mittelschule begleitet und sich nach und nach zu einem riesigen Projekt entwickelt Vielleicht ist es das größte Projekt, das ich je geschrieben habe. Es ist ein Projekt, oder?
Microsoft Visual Basic 6.0, eine IDE/Sprache, die älter ist als ich, als ich dieses Programm schrieb, begann VB6 aus dem Blickfeld der Leute zu verschwinden, und jetzt existiert es wahrscheinlich nur noch im Speicher. Als ich in meinem Abschlussjahr an der High School war, wurde mir klar, dass ich dieses Projekt nicht länger pflegen würde, also nahm ich mir die Zeit, die Dokumentation zu verbessern und veröffentlichte das Programm und den Quellcode auf Baidu Tieba VB Bar. Da es nur wenige Benutzer von VB gibt, hat es nicht viel Aufmerksamkeit erregt, und das ist mir bewusst.
Wenn ich jetzt zurückblicke, habe ich aus diesem Projekt viel gelernt, auch wenn ich es im Laufe der Jahre auf eigene Faust erkundet habe, auch wenn es sich nicht um eine systematische Studie handelte, habe ich dennoch viel Wissen gelernt, wie zum Beispiel:
Jetzt wurde die Wartung dieses Programms eingestellt und ich werde keinen technischen Support leisten (ich hätte es fast vergessen, hhh). Das Programm hat viele Fehler und der Codierungsstil ist nicht gut. Wenn man bedenkt, dass mittlerweile fast niemand mehr VB6 verwendet, hat dieses Add-in selbst keinen praktischen Wert, aber wenn einige der darin enthaltenen technischen Punkte Ihnen als Referenz dienen können, dann kann davon ausgegangen werden, dass es seinen Wert ausgenutzt hat :)
Develop/iCode 开发者指南.docx
ist ein Dokument, das ich bei der Veröffentlichung des Quellcodes geschrieben habe. Einige der Inhalte sind wie folgt organisiert.
Das VB6-Add-In-Programm (Add-In) ist ein Plug-In, das die von VB bereitgestellte Schnittstelle verwendet, um die IDE zu erweitern und bestimmte Funktionen zu implementieren. Der Hauptteil des Projekts ist eine ActiveX-DLL, die bestimmte Komponenten aufruft (Microsoft Add-In Designer usw.). Diese Komponenten stellen begrenzte Schnittstellen zur Steuerung des IDE-Verhaltens bereit. In diesem Projekt werden auch Hooks, Speichermodifikationen usw. verwendet. Eine Übersicht über die Schnittstelle und den Prozess finden Sie im docx-Dokument.
Tools zur Kompilierungsverbesserung. Ersetzen Sie automatisch EXE-Dateisymbole und unterstützen Sie hochauflösende Symbole. Fügen Sie Manifestdateien automatisch ein, um Funktionen wie die automatische Beantragung von UAC-Berechtigungen und universellen Steuerelementen gemäß Systemthemen zu realisieren.
Fügen Sie dem Arbeitsbereich der IDE eine Tab-Leiste hinzu, um das Wechseln zwischen Fenstern zu erleichtern.
Sammeln Sie WIN32-API- und GDI+-Methoden, Konstanten und Typen und fügen Sie automatisch Deklarationen ein.
Optimiertes Code-Einrückungs-Organisationstool mit einfacher Code-Fehleranalyse.
Detailliertes und umfassendes Code-Statistik-Tool.
Die IDE-Farbanpassung kann durch Ändern des Speichers angepasst werden, wodurch die monotone Farbanpassung von VB durchbrochen wird, und verfügt über Funktionen zum Importieren und Exportieren von Programmen.
Verbessern Sie die Effizienz.
Leitet die Steuerelemente des Dateifensters weiter.
Die Architektur von iCode wurde mehrfach geändert. Das Launcher-Projekt (einschließlich Connect) bezieht sich auf das Komponentenprojekt (genannt B). Klassenmodul Die Schnittstelle implementiert die Funktion. Der Hauptcode ist in B geschrieben. A stellt hauptsächlich IDE-Instanzen und Hook-Informationen bereit.
Dies hat den Vorteil, dass es die Transplantation erleichtert. iCode besteht aus vielen Komponenten, wenn sie alle in einem Projekt geschrieben sind, was das Debuggen verwirrend und unpraktisch macht. Sie wissen, dass iCode aufgrund der Verwendung von Hooks usw. häufig kompiliert und dann getestet werden muss. Das Kompilieren anderer unnötiger Komponenten verschwendet viel Zeit. Schreiben Sie mit dieser Architektur zunächst ein Komponentenprojekt + ein Launcher-Projekt. Nach Abschluss des Tests verweist der eigentliche Launcher von iCode einfach auf das Komponentenprojekt. Sie können es auch über das ursprüngliche Debugging starten.
Darüber hinaus werden einige öffentliche Methoden (hauptsächlich in iFunction) durch die Verwendung derselben Codedatei synchron gehalten.
Ein zufälliges Bild:
Develop/iCode.chm
Add-In-BenutzerhandbuchDevelop/iCode 开发者指南.docx
enthält weitere Details während der Entwicklung als Referenz.