Обновлено 9 ноября 2019 г.
Это старый проект... Я познакомился с VB6, когда учился в начальной школе, и написал одну за другой множество программ. Во время летних каникул, когда я поступил в среднюю школу, я, кажется, начал этот проект с мыслью: «Я собираюсь выучить новый язык и, наконец, написать плагин для VB6, используя VB на прощание» ( кажется, я сейчас учусь в средней школе, ххх). Однако это не та «прощальная работа», которую я ожидал, но она сопровождала меня на протяжении всех трех лет обучения в средней школе. Из первоначального «маленького плагина» она постепенно превратилась в огромный проект. возможно, это самый большой проект, который я когда-либо писал. Это проект, верно (смеется).
Microsoft Visual Basic 6.0, IDE/язык, который старше меня. Когда я писал эту программу, VB6 начал исчезать из поля зрения людей и теперь, вероятно, существует только в памяти. Когда я учился в старшем классе средней школы, я понял, что больше не буду поддерживать этот проект, поэтому я потратил время на улучшение документации и опубликовал программу и исходный код на Baidu Tieba VB Bar. Поскольку пользователей VB всего несколько, особого внимания он не привлек, и я об этом знаю.
Оглядываясь назад, я понимаю, что благодаря этому проекту я многому научился. Несмотря на то, что я занимался исследованием самостоятельно, с годами, даже несмотря на то, что это не было систематическим исследованием, я все же получил много знаний, таких как:
Сейчас эта программа прекращена, и я не буду оказывать техническую поддержку (я почти забыл о ней, ххх). В программе много ошибок, а стиль кодирования не очень хорош. Учитывая, что VB6 сейчас почти никто не использует, сам по себе этот Addin не имеет никакой практической ценности, но если некоторые технические моменты в нем могут дать вам справку, то можно считать, что свою ценность он оказал:)
Develop/iCode 开发者指南.docx
— это документ, который я написал при выпуске исходного кода. Некоторая его часть организована следующим образом.
Программа надстройки VB6 (Addin) — это плагин, который использует интерфейс, предоставляемый VB, для расширения IDE для реализации определенных функций. Основная часть проекта — это ActiveX DLL, которая вызывает определенные компоненты (Microsoft Add-In Designer и т. д.). Эти компоненты предоставляют ограниченные интерфейсы для управления поведением IDE. В этом проекте также используются хук, модификация памяти и т. д. Обзор интерфейса и процесса см. в документе docx.
Инструменты улучшения компиляции. Автоматически заменяйте значки EXE-файлов и поддерживайте значки высокого разрешения, автоматически вставляйте файлы манифеста для реализации таких функций, как автоматическое применение разрешений UAC и универсальные элементы управления в соответствии с системными темами.
Добавьте панель вкладок в рабочую область IDE, чтобы облегчить переключение между окнами.
Собирайте методы, константы, типы WIN32 API и GDI+ и автоматически вставляйте объявления.
Оптимизированный инструмент организации отступов кода с простым анализом ошибок кода.
Подробный и всеобъемлющий инструмент статистики кода.
Соответствие цветов IDE можно настроить путем изменения памяти, преодолевая монотонное сопоставление цветов VB, а также включает функции импорта и экспорта программ.
Повышайте эффективность.
Перенастройте элементы управления окном файла.
Архитектура iCode неоднократно менялась. Теперь каждый проект компонента независим, а программа запуска (включая Connect) не зависит от другого проекта. Проект программы запуска (называемый A) ссылается на проект компонента (называемый B). модуль класса Интерфейс реализует функцию. Основной код написан на языке B. A в основном предоставляет экземпляры IDE и информацию о хуках.
Преимущество этого в том, что это облегчает трансплантацию. iCode состоит из множества компонентов, если все они написаны в одном проекте, это будет запутанно и неудобно для отладки. Знаете, из-за использования хуков и т.п. iCode часто приходится компилировать, а затем тестировать. Компиляция других ненужных компонентов приведет к потере большого количества времени. Используя эту архитектуру, сначала напишите проект компонента + проект запуска. После завершения теста настоящий модуль запуска iCode будет ссылаться на проект компонента. Просто добавьте небольшой объем вызывающего кода. Если с компонентом возникнут проблемы. также можно запустить его через исходную отладку.
Кроме того, некоторые общедоступные методы (в основном в iFunction) синхронизируются с использованием одного и того же файла кода.
Случайная картинка:
Develop/iCode.chm
Develop/iCode 开发者指南.docx
содержит более подробную информацию во время разработки для справки.