2019/11/09更新
これは古いプロジェクトです... 私は小学生の頃に VB6 に出会い、次々とプログラムを書きました。中学校に入学した夏休みに、「新しい言語を勉強して、最後はお別れとしてVBを使ってVB6用のプラグインを書いてみよう」という考えでこのプロジェクトを始めたそうです(今は中学生のようです(笑)。しかし、それは私が期待していた「お別れの仕事」ではなく、最初の「小さなプラグイン」から、それが中学校の3年間ずっと私に付き添い、徐々に大きなプロジェクトに成長しました。今まで書いた中で一番大きなプロジェクトかもしれないですね(笑)
Microsoft Visual Basic 6.0 は、私よりも古い IDE/言語です。私がこのプログラムを書いたとき、VB6 は人々の目から消え始めていました。今では、おそらくメモリ内にのみ存在します。高校 3 年生のとき、このプロジェクトはもう維持できないことに気づき、時間をかけてドキュメントを改善し、プログラムとソース コードを Baidu Tieba VB Bar で公開しました。 VB はユーザーが少ないため、あまり注目されていませんが、私もそのことを認識しています。
今振り返ると、私はこのプロジェクトから多くのことを学びました。たとえ体系的な研究ではなかったとしても、何年にもわたって自分自身で探求してきたにもかかわらず、次のような多くの知識を学びました。
現在、このプログラムはメンテナンスを停止しており、技術サポートは提供しません(ほとんど忘れていましたが、プログラムには多くのバグがあり、コーディングスタイルも良くありません)。現在、VB6 を使用している人はほとんどいないことを考えると、このアドイン自体には実用的な価値はありませんが、技術的な点が参考になれば、その価値は十分に発揮されたと考えられます:)
Develop/iCode 开发者指南.docx
、ソースコードを公開するときに作成したドキュメントです。内容の一部は次のように構成されています。
VB6 アドイン プログラム (Addin) は、VB が提供するインターフェイスを使用して IDE を強化し、特定の機能を実装するプラグインです。プロジェクトの本体は、特定のコンポーネント (Microsoft アドイン デザイナーなど) を呼び出す ActiveX DLL です。これらのコンポーネントは、IDE の動作を制御するための限定的なインターフェイスを提供します。このプロジェクトでもフック、メモリ改造などが使用されています。インターフェイスとプロセスの概要については、docx ドキュメントを参照してください。
コンパイル強化ツール。 EXE ファイルのアイコンを自動的に置き換え、高解像度のアイコンをサポートし、マニフェスト ファイルを自動的に挿入して、システム テーマに従った UAC 権限やユニバーサル コントロールの自動適用などの機能を実現します。
タブ バーを IDE のワークスペースに追加して、ウィンドウ間の切り替えを容易にします。
WIN32 API および GDI+ のメソッド、定数、型を収集し、宣言を自動的に挿入します。
シンプルなコードエラー分析を備えた、最適化されたコードインデント整理ツール。
詳細かつ包括的なコード統計ツール。
IDEのカラーマッチングは、VBの単調なカラーマッチングを打破するメモリ変更によるカスタマイズが可能で、プログラムのインポート、エクスポート機能も付いています。
効率を向上させます。
ファイル ウィンドウ コントロールを再レイアウトします。
iCode のアーキテクチャは何度も変更されており、各コンポーネント プロジェクトは独立しており、ランチャー (Connect を含む) は別のプロジェクトから独立しています。クラスモジュール 関数を実装するインターフェイスです。メインのコードは B に記述されます。A は主に IDE インスタンスとフック情報を提供します。
この利点は、移植が容易であることです。 iCode は多くのコンポーネントで構成されており、それらをすべて 1 つのプロジェクトに記述すると、混乱が生じてデバッグに不便になります。ご存知のとおり、iCode はフックなどを使用するため、コンパイルしてから他の不要なコンポーネントをテストする必要があり、多くの時間を無駄にします。このアーキテクチャを使用して、最初にコンポーネント プロジェクト + ランチャー プロジェクトを作成します。テストが完了した後、コンポーネントに問題がある場合は、iCode の実際のランチャーがそのコンポーネント プロジェクトを参照します。元のデバッグから開始することもできます。
さらに、一部のパブリック メソッド (主に iFunction) は、同じコード ファイルを使用することで同期が保たれます。
ランダムな写真:
Develop/iCode.chm
アドイン ユーザー マニュアルDevelop/iCode 开发者指南.docx
は、開発中の参照用の詳細が含まれています。