Develop an open source solution for customizing a "shell" browser--TlC_Browser

Table of contents

1. Project Overview

2. Technology selection

3. Project introduction

Project name:TlC_Browser

Development language: VB6

Browser kernel: webview2

Project purpose: call h5 in vb6 to implement a customized browser

References:

https://github.com/sysdzw/WebView2DemoForVb6

https://www.vbforums.com/showthread.php?889202-VB6-WebView2-Binding-(Edge-Chromium)

Note: This project is not a browser kernel, but written on top of the kernel.


1. Project Overview

        After 100 hours, I rewrote my last project (TLC_BROWSER). Compared with the last time, the UI has been beautified as a whole and the underlying mechanism of the application layer has been rewritten. This browser is a subsidiary product of the TLC_NLP robot and is designed to help The robot implements network search and reading functions, and the open source version is a universal version (a version that can be used by regular PCs).

        The current version can pass anti-virus software and can prevent some rogue software from tampering with the homepage.

The current version number is TLC_browser 0.0.3.5

This version is a test version, some problems have been fixed, and there may be other problems.
Form: 0.0.0.23 Kernel: 1.0.0.79
Time: May 18, 2023 14:31:13
1. Fixed the problem that after clicking × in the settings panel, the window
2. Fixed the problem that the settings panel did not prompt any prompts after clicking save and the settings form did not disappear. 3.
Added interactivity to some buttons
. 4. Fixed occasional crash errors
. 5. Added The web page has the feature of automatically being brought to the front after focus
6. Fixed the occasional crash after closing the tag
7. Added support for the file protocol (just enter it in the software input box)
8. Added the feature of double-clicking the all-select search box
9 .Fixed other known issues

This version can use other search engines and initialization pages through the settings center

 This version also still supports multiple tags 


2. Technology selection

        Currently, VB6 is used to call the built-in DLL of Internet Explorer (IE) Frame (ieframe.dll), which can most conveniently help VB6 realize the function of displaying web pages when starting the VB6 form. However, this solution can only call IE 7 and cannot support HTML5. If you encounter an HTML5 web page, you can only modify the registry to let IE control the call IE 11. However, even if IE 11 is used, there are still many incompatible web pages. Therefore, the solution of using the built-in IEFrame.dll to write a shell browser is not feasible here.

        The other solutions that can be used are to call the browser through webdriver and the webview2 runtime used in this project. This is a control that allows embedding web technologies (HTML, CSS and JavaScript) in native applications. Please refer to the official documentation. Reference links: Introduction to Microsoft Edge WebView2 - Microsoft Edge Development | Microsoft Learn WebView2 - Microsoft Edge Developer


3. Project introduction

1.Project address

Open source address: ​​​​​​https​​​​​://github.com/keyxh/TLC_Browers

CSDN site installation package download address: https://download.csdn.net/download/m0_60277871/87796363 

2. Project introduction:

kernel: the code that controls the webview2 kernel. The default compilation name is TLC_browser.exe

client: main program code, uses winsock to send information and control the kernel. The default compiled name is: kernel.exe

dll: ocx and dll that the project depends on.

release: is the official package of the version available to users.

TLC_browser.exe is the main program. As a server, the port number is: 8329. Opening the main program will automatically start kernel.exe and read the configuration file. The path is: %appdata%\tlc_web\config.config

As a client, kernel.exe will connect TLC_Browser after startup, send the hwnd of its own form, and set TLC_Browser as a subform.

3. Project deployment:

User deployment:
Open any version in the release to download (versions before 0.0.3 all use shared files for cross-process information transmission, which has many problems and is no longer maintained. Versions after 0.0.3 use TCP protocol for transmission), and then run it. (Some anti-virus software may block it during the installation process, just release it).

Development and deployment:

(1). Clone the entire project, open the dll folder, register RC6.DLL, Windows_FormApi.dll, mathv3.dll, file_controlv2.dll, MSWINSCK.OCX (regsvr32.dll xxx.dll/xxx.ocx), and run it manually runtime_install.exe, the dlls involved above will be open sourced after sorting out

(2). The above steps can also be skipped by randomly installing versions 0.0.3 or above in the release.

(3). Open vbp in the kernel and Client folders to modify (note: add --init_webview --load_url "Home Page URL", it is not recommended to run it alone


Later stage of the project:

1. Access the translation API and translate into other languages ​​after typing in the input box.

2. Access the self-developed NLP large model and other large models to realize AI web.

3. Use the web driver to add more browser kernels and let kernel.exe run in the cloud to implement a cloud browser so that older machines can also support h5.

Since webview cannot support earlier versions before win7, this project can currently only support versions after win7.

If you have any questions, you can send them to github issue or send an email.


Developed by Fuzhou Mechanical and Electrical Engineering Vocational and Technical School wh

Email contact information: [email protected]

QQ contact information: 2151335401, 3135144152

Guess you like

Origin blog.csdn.net/m0_60277871/article/details/130658769