Actualizado el 09/11/2019
Este es un proyecto antiguo... Entré en contacto con VB6 cuando estaba en la escuela primaria y escribí muchos programas uno tras otro. Durante las vacaciones de verano cuando entré a la escuela secundaria, parecía haber comenzado este proyecto con la idea de "voy a aprender un nuevo idioma y finalmente escribiré un complemento para VB6 usando VB como despedida" ( Parece que ahora estoy en la escuela secundaria hhh). Sin embargo, no es el "trabajo de despedida" que esperaba, pero me ha acompañado durante los tres años de la escuela secundaria. Desde el "pequeño complemento" inicial, se ha ido expandiendo gradualmente hasta convertirse en un gran proyecto. Puede que sea el proyecto más grande que jamás haya escrito. Es un proyecto, ¿verdad?
Microsoft Visual Basic 6.0, un IDE/lenguaje que es más antiguo que yo Cuando escribí este programa, VB6 había comenzado a desaparecer de la vista de la gente y ahora probablemente solo exista en la memoria. Cuando estaba en mi último año de secundaria, me di cuenta de que ya no mantendría este proyecto, así que me tomé el tiempo para mejorar la documentación y publiqué el programa y el código fuente en Baidu Tieba VB Bar. Dado que hay sólo unos pocos usuarios de VB, no ha llamado mucho la atención y soy consciente de ello.
Mirando hacia atrás, aprendí mucho de este proyecto. Aunque estuve explorando por mi cuenta, a lo largo de los años, aunque no fue un estudio sistemático, aprendí muchos conocimientos, como por ejemplo:
Ahora este programa ha dejado de mantenerse y no brindaré soporte técnico (casi lo he olvidado hhh. El programa tiene muchos errores y el estilo de codificación no es bueno). Teniendo en cuenta que casi nadie usa VB6 ahora, este complemento en sí no tiene valor práctico, pero si algunos de los puntos técnicos que contiene pueden proporcionarle una referencia, entonces se puede considerar que ha ejercido su valor :)
Develop/iCode 开发者指南.docx
es un documento que escribí al publicar el código fuente. Algunos de los contenidos están organizados de la siguiente manera.
El programa complementario VB6 (Addin) es un complemento que utiliza la interfaz proporcionada por VB para mejorar el IDE e implementar funciones específicas. El cuerpo principal del proyecto es una DLL ActiveX, que llama a componentes específicos (Microsoft Add-In Designer, etc.). Estos componentes proporcionarán interfaces limitadas para controlar el comportamiento del IDE. En este proyecto también se utilizan ganchos, modificación de memoria, etc. Para obtener una descripción general de la interfaz y el proceso, consulte el documento docx.
Herramientas de mejora de la compilación. Reemplace automáticamente los íconos de archivos EXE y admita íconos de alta definición; inserte automáticamente archivos de manifiesto para realizar funciones como solicitar automáticamente permisos UAC y controles universales siguiendo los temas del sistema.
Agregue una barra de pestañas al espacio de trabajo del IDE para facilitar el cambio entre ventanas.
Recopile métodos, constantes y tipos de API WIN32 y GDI+ e inserte declaraciones automáticamente.
Herramienta de organización de sangría de código optimizada con análisis de errores de código simple.
Herramienta de estadísticas de código detallada y completa.
La combinación de colores IDE se puede personalizar modificando la memoria, rompiendo la monótona combinación de colores de VB y viene con funciones de importación y exportación de programas.
Mejorar la eficiencia.
Retransmita los controles de la ventana de archivos.
La arquitectura de iCode se ha modificado muchas veces. Ahora, cada proyecto de componente es independiente y el iniciador (incluido Connect) es independiente de otro proyecto. El proyecto de iniciador (llamado A) hace referencia al proyecto de componente (llamado B). módulo de clase La interfaz implementa la función. El código principal está escrito en B. A proporciona principalmente instancias IDE e información de Hook.
La ventaja de esto es que facilita el trasplante. iCode se compone de muchos componentes. Si todos están escritos en un proyecto, será confuso e inconveniente para la depuración. Ya sabes, debido al uso de Hooks, etc., iCode a menudo necesita compilarse y luego probarse. Compilar otros componentes innecesarios será una pérdida de tiempo. Usando esta arquitectura, primero escriba un proyecto de componente + un proyecto de iniciador. Una vez completada la prueba, el iniciador real de iCode hará referencia al proyecto de componente. Si hay un problema con el componente, simplemente agregue una pequeña cantidad de código de llamada. También puede iniciarlo a través de la depuración original.
Además, algunos métodos públicos (principalmente en iFunction) se mantienen sincronizados utilizando el mismo archivo de código.
Una imagen aleatoria:
Develop/iCode.chm
Develop/iCode 开发者指南.docx
contiene más detalles durante el desarrollo como referencia.