A system for calling windows functions from the front end

The system for front-end calling Windows functions addresses the complexity and collaboration challenges in client software development by encapsulating Windows library functions into wincore.js, enabling efficient front-end development without back-end support.

CN113722119BActive Publication Date: 2024-12-20MUKUN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110862609.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-29
Publication Date
2024-12-20
Estimated Expiration
2041-07-29

AI Technical Summary

Technical Problem

Existing Windows client software development methods face challenges in achieving complex interface designs without exponentially increasing development difficulty, and require collaboration between front-end and back-end developers due to the need for mastering underlying Windows development knowledge.

Method used

A system for front-end calling Windows functions, utilizing front-end wincore.js development components and back-end support factory class modules, which encapsulates common Windows library functions into a single component (wincore.js) for easy loading and use, enabling seamless communication between front-end and back-end.

Benefits of technology

This system allows front-end developers to call Windows library functions independently, improving development efficiency by breaking the communication barrier and reducing the need for back-end support, thus simplifying the development process.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention discloses a system for front-end calling windows functions, including a front-end wincore.js development component, a front-end and back-end pipeline communication module, and a back-end support factory class module. The system for front-end calling windows functions described in the present invention breaks through the communication barrier between embedded Chromium and the underlying windows window, designs and completes the commonly used windows library functions, and encapsulates them into a single component that can be easily loaded: wincore.js. The component has various functions, and the module loading and use methods are simple. After the component is introduced into the development of the windows client, the front-end R&D personnel can easily call the windows library functions without the support of back-end R&D, which greatly improves the development efficiency of the project.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of Windows client software development, and in particular to a system for front-end calling Windows functions. Background Art

[0002] In today's Windows client software development projects, the commonly used technical solutions are generally:

[0003] 1. Use Windows library functions and develop software with the help of open source interface development tools such as MFC, Duilib, QT, etc. This solution can also develop a gorgeous program interface, but the disadvantage is that when the interface design is complex, the development difficulty increases exponentially, which takes up a lot of energy of the underlying developers, and it is difficult to achieve effects similar to the web page, such as circular borders, gradient ribbons, suspension, shadow borders, GIF animations, etc.

[0004] 2. With the help of open source tools such as CEF and QML, the software interface is developed using the web page in an embedded Chromium way, while the backend still calls the windows library function to implement the underlying development. This solution greatly reduces the workload and difficulty of software interface development, but the disadvantages are also obvious. Developers need to take into account both front-end and back-end development, and for most front-end developers, it is too difficult to master the underlying windows development knowledge. Therefore, this solution inevitably requires more developers to work together, which does not meet people's usage requirements. For this reason, we propose a new system for the front-end to call windows functions. Summary of the invention

[0005] The main purpose of the present invention is to provide a novel system for front-end calling windows functions, which can effectively solve the problems in the background technology.

[0006] To achieve the above object, the technical solution adopted by the present invention is:

[0007] A system for front-end calling windows functions, including front-end wincore.js development components, front-end and back-end pipeline communication modules and back-end support factory class modules;

[0008] The front-end wincore.js development component is used to provide a function interface for the front-end HTML page;

[0009] The front-end and back-end pipeline communication module is used to establish a smooth communication channel between the front-end and back-end;

[0010] The backend support factory class module is used to provide support for the frontend interface functions.

[0011] Furthermore, the front-end wincore.js development components include wincore.System system tool class, wincore.Disk disk tool class, wincore.SQLite database operation class, wincore.Mutlicaste network broadcast class, wincore.HttpUtils network request class, wincore.HttpDownload file download class, wincore.OSSUpload file upload class, wincore.BrowserForm embedded Chrome window class, wincore.WindowForm native window class, wincore.InkView native writing and drawing class, wincore.LiveSession streaming media transmission class, wincore.LiveBoardcast network connection class and wincore.AsyncEvent thread class.

[0012] Furthermore, the wincore.System system tool class is used to obtain basic system information, load third-party processes, take screenshots, and read and write registry keys;

[0013] The wincore.Disk disk tool class is used to provide local file operations such as reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compressing and decompressing files, and caching data;

[0014] The wincore.SQLite database operation class is used to implement database addition, deletion, modification and query;

[0015] The wincore.Mutlicaste network broadcast class: used to implement data broadcasting and receiving in the local area network;

[0016] The wincore.HttpUtils network request class is used to implement http post and get requests and provide request data header information;

[0017] The wincore.HttpDownload file download class: used to implement file download;

[0018] The wincore.OSSUpload file upload class is used to upload files to the cloud platform;

[0019] The wincore.BrowserForm embedded Chrome window class is used to provide a window container for loading HTML and implement windows library functions for operating windows.

[0020] The wincore.WindowForm native window class is used to create a native windows window based on Duilib;

[0021] The wincore.InkView native writing and drawing class is used to implement window writing and drawing, and provides brushes, erasers, selection mode switching, and brush color switching;

[0022] The wincore.LiveSession streaming media transmission class is used to implement streaming media recording and playback;

[0023] The wincore.LiveBoardcast network connection class is used to provide a websocket network connection to achieve network interconnection between the various ends of the c / s architecture;

[0024] The wincore.AsyncEvent thread class is used to implement multi-threading functionality.

[0025] Furthermore, the backend supports factory class modules including CSystemFoctory system factory class, CDiskFoctory file management factory class, CSQLiteFoctory database operation factory class, CMutlicastFoctory network multicast engineering class, CHTTPUtilsFoctory network request factory class, CHTTPDownloadFoctory file download class, COSSUploadFoctory file upload factory class, CBrowserFoctory embedded cef window factory class, CWndFrameFoctory native windows window factory class, CInkCoreFoctory native window writing and painting factory class, CLiveSessionFoctory multimedia stream factory class, CWSBoardcastClient websocket network connection class and CAsyncEventFoctory multithreaded factory class;

[0026] Furthermore, the CSystemFoctory system factory class corresponds to the wincore.System system tool class, and is used to provide backend support for obtaining basic system information, loading third-party processes, taking screenshots, and reading and writing registry functions;

[0027] The CDiskFoctory file management factory class corresponds to the wincore.Disk disk tool class and is used to provide backend support for reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compression and decompression, and data caching functions;

[0028] The CSQLiteFoctory database operation factory class corresponds to the wincore.SQLite database operation class and is used to provide functional support for creating databases, adding, deleting, modifying and checking databases;

[0029] The CMutlicastFoctory network multicast engineering class corresponds to the wincore.Mutlicaste network broadcast class and is used to implement data broadcasting and receiving in a local area network;

[0030] The CHTTPUtilsFoctory network request factory class corresponds to the wincore.HttpUtils network request class, and is used to implement http post and get requests, and provide request data header information;

[0031] The CHTTPDownloadFoctory file download class corresponds to the wincore.HttpDownload file download class and is used to implement file download;

[0032] The COSSUploadFoctory file upload factory class corresponds to the wincore.OSSUpload file upload class and is used to provide backend support for uploading files to the cloud platform;

[0033] The CBrowserFoctory embedded cef window factory class corresponds to the wincore.BrowserForm embedded Chrome window class, and is used to provide a window container for loading HTML, and implement the windows library function for operating the window;

[0034] The CWndFrameFoctory native windows factory class corresponds to the wincore.WindowForm native window class and is used to create a native windows window based on Duilib;

[0035] The CInkCoreFoctory native window writing and drawing factory class corresponds to the wincore.InkView native writing and drawing class, is used to implement window writing and drawing, and provides brushes, erasers, selection mode switching and brush color switching;

[0036] The CLiveSessionFoctory multimedia stream factory class corresponds to the wincore.LiveSession streaming media transmission class and is used to implement streaming media recording and playback;

[0037] The CWSBoardcastClient websocket network connection class is used to realize the network interconnection between each end of the c / s architecture, which corresponds to the wincore.LiveBoardcast network connection class;

[0038] The CAsyncEventFoctory multi-thread factory class corresponds to the wincore.AsyncEvent thread class and is used to implement multi-thread functions.

[0039] Furthermore, the front-end wincore.js development component is encapsulated as a unified wincore.js calling component, and the back-end support factory class module adopts an open design model.

[0040] Compared with the prior art, the present invention provides a system for front-end calling windows functions, which has the following beneficial effects:

[0041] The present invention breaks through the communication barrier between embedded Chromium and the underlying Windows window, designs commonly used Windows library functions, and encapsulates them into a single component that can be easily loaded: wincore.js. This component has diverse functions, and the module loading and use methods are simple. After the Windows client is developed and introduced with this component, the front-end R&D personnel can easily call the Windows library functions without the support of the back-end R&D, which greatly improves the development efficiency of the project.

[0042] The parts not involved in the device are the same as those in the prior art or can be implemented by using the prior art. DETAILED DESCRIPTION

[0043] The technical solutions in the embodiments of the present invention will be clearly and completely described below in combination with the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, rather than all the embodiments.

[0044] A system for front-end calling windows functions, including front-end wincore.js development components, front-end and back-end pipeline communication modules and back-end support factory class modules;

[0045] Front-end wincore.js development component: used to provide function interface for front-end HTML page;

[0046] Front-end and back-end pipeline communication module: used to establish a smooth communication channel between the front-end and back-end;

[0047] Backend support factory class module: used to provide support for frontend interface functions.

[0048] The front-end wincore.js development components include wincore.System system tool class, wincore.Disk disk tool class, wincore.SQLite database operation class, wincore.Mutlicaste network broadcast class, wincore.HttpUtils network request class, wincore.HttpDownload file download class, wincore.OSSUpload file upload class, wincore.BrowserForm embedded Chrome window class, wincore.WindowForm native window class, wincore.InkView native writing and drawing class, wincore.LiveSession streaming media transmission class, wincore.LiveBoardcast network connection class and wincore.AsyncEvent thread class.

[0049] wincore.System system tool class: used to obtain basic system information, load third-party processes, take screenshots, read and write registry, etc.;

[0050] wincore.Disk disk tool class: used to provide functions for reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compressing and decompressing, data caching, and other local file operations;

[0051] wincore.SQLite database operation class: used to implement database addition, deletion, modification and query;

[0052] wincore.Mutlicaste network broadcast class: used to implement data broadcasting and receiving in the local area network;

[0053] wincore.HttpUtils network request class: used to implement http post and get requests, and provide request data header information;

[0054] wincore.HttpDownload file download class: used to implement file download;

[0055] wincore.OSSUpload file upload class: used to upload files to the cloud platform;

[0056] wincore.BrowserForm embedded Chrome window class: used to provide a window container for loading HTML and implement windows library functions for operating windows;

[0057] wincore.WindowForm native window class: used to create native windows based on Duilib;

[0058] wincore.InkView native writing and drawing class: used to implement window writing and drawing, providing functions such as brush, eraser, selection mode switching and brush color switching;

[0059] wincore.LiveSession streaming media transmission class: used to implement streaming media recording and playback functions;

[0060] wincore.LiveBoardcast network connection class: used to provide websocket network connection, used to achieve network interconnection between various ends of the c / s architecture;

[0061] wincore.AsyncEvent thread class, used to implement multi-threading functionality.

[0062] The backend supports factory class modules including CSystemFoctory system factory class, CDiskFoctory file management factory class, CSQLiteFoctory database operation factory class, CMutlicastFoctory network multicast engineering class, CHTTPUtilsFoctory network request factory class, CHTTPDownloadFoctory file download class, COSSUploadFoctory file upload factory class, CBrowserFoctory embedded cef window factory class, CWndFrameFoctory native windows window factory class, CInkCoreFoctory native window writing and painting factory class, CLiveSessionFoctory multimedia stream factory class, CWSBoardcastClient websocket network connection class and CAsyncEventFoctory multi-threaded factory class;

[0063] The CSystemFoctory system factory class corresponds to the wincore.System system tool class, and is used to provide backend support for functions such as obtaining basic system information, loading third-party processes, taking screenshots, and reading and writing registry entries.

[0064] The CDiskFoctory file management factory class corresponds to the wincore.Disk disk tool class and is used to provide backend support for functions such as reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compression and decompression, and data caching.

[0065] The CSQLiteFoctory database operation factory class corresponds to the wincore.SQLite database operation class and is used to provide support for creating databases, adding, deleting, modifying, and querying databases.

[0066] CMutlicastFoctory network multicast engineering class corresponds to wincore.Mutlicaste network broadcast class, which is used to realize data broadcasting and receiving in LAN;

[0067] The CHTTPUtilsFoctory network request factory class corresponds to the wincore.HttpUtils network request class, which is used to implement http post and get requests and provide request data header information;

[0068] CHTTPDownloadFoctory file download class corresponds to wincore.HttpDownload file download class and is used to implement file download;

[0069] The COSSUploadFoctory file upload factory class corresponds to the wincore.OSSUpload file upload class and is used to provide backend support for uploading files to the cloud platform;

[0070] The CBrowserFoctory embedded cef window factory class corresponds to the wincore.BrowserForm embedded Chrome window class, which is used to provide a window container for loading HTML and implement the windows library functions for operating windows.

[0071] The CWndFrameFoctory native windows factory class corresponds to the wincore.WindowForm native window class and is used to create native windows based on Duilib;

[0072] CInkCoreFoctory native window writing and drawing factory class corresponds to wincore.InkView native writing and drawing class, which is used to implement window writing and drawing, and provides functions such as brush, eraser, selection mode switching and brush color switching;

[0073] The CLiveSessionFoctory multimedia stream factory class corresponds to the wincore.LiveSession streaming media transmission class and is used to implement streaming media recording and playback;

[0074] The CWSBoardcastClient websocket network connection class is used to realize the network interconnection between the various ends of the c / s architecture, which corresponds to the wincore.LiveBoardcast network connection class;

[0075] The CAsyncEventFoctory multi-threaded factory class corresponds to the wincore.AsyncEvent thread class and is used to implement multi-threaded functions.

[0076] The front-end wincore.js development component is encapsulated as a unified wincore.js calling component, and the back-end support factory class module adopts an open design model.

[0077] The way to introduce the wincore.js component that the front-end HTML page needs to load is: <script src="win_core.js”>< / script> After the component is introduced, the front-end developer can directly call the required interface in the following mode:

[0078] var rc=wincore.System.get_work_pos();

[0079] The component is easy to introduce and the calling interface is convenient and easy to use, which greatly improves the R&D efficiency.

[0080] The front-end page is based on the open source Chrome framework. In order to open up a communication bridge and support synchronous data callback, the present invention establishes a pipeline communication between CEF and the back-end software, thereby ensuring efficient data transmission between the front-end and the back-end. This method allows front-end developers to not need to worry about the asynchronous callback problem of data, and can directly obtain the required back-end information according to the front-end interface.

[0081] The present invention establishes a series of factory modules at the back end, which correspond to the aforementioned wincore.js modules respectively. The message distribution processing center distributes the messages to the respective modules for processing according to the message type, and the coupling between the modules is low. The open design mode is adopted inside each factory class, which can easily expand the functions.

[0082] It should be noted that the present invention discloses a new system for front-end calling windows functions. The programming languages ​​used include C, C++, JavaScript, including but not limited to Duilib interface development tools, embedded Chromium framework (CEF for short), RTSP streaming media network protocol, H264 encoding and decoding, WebSocket full-duplex communication protocol. On this basis, this component implements most of the commonly used windows interface development APIs, and provides streaming media, WebSocket, and multi-threaded components, so that JavaScript front-end developers do not need to understand windows library functions to develop windows clients with beautiful interfaces and diverse functions;

[0083] The present invention is based on open source tools such as cef3.32 and Duilib. The present invention breaks through the communication barrier between embedded Chromium and the underlying Windows window, designs commonly used Windows library functions, and encapsulates them into a single component that can be easily loaded: wincore.js. The component has various functions, and the module loading and use methods are simple. After the Windows client is developed and introduced, the front-end R&D personnel can easily call the Windows library function without the support of the back-end R&D, which greatly improves the development efficiency of the project.

[0084] The above shows and describes the basic principles and main features of the present invention and the advantages of the present invention. It should be understood by those skilled in the art that the present invention is not limited to the above embodiments. The above embodiments and descriptions are only for explaining the principles of the present invention. Without departing from the spirit and scope of the present invention, the present invention may have various changes and improvements, which fall within the scope of the present invention to be protected. The scope of protection of the present invention is defined by the attached claims and their equivalents.

Claims

1. A system that calls windows functions from the front end. Features: Including front-end wincore.js development components, front-end and back-end pipeline communication modules and back-end support factory class modules; The front-end wincore.js development component is used to provide a function interface for the front-end HTML page; The front-end and back-end pipeline communication module is used to establish a smooth communication channel between the front-end and back-end; The backend support factory class module is used to provide support for the frontend interface function; The front-end wincore.js development components include wincore.System system tool class, wincore.Disk disk tool class, wincore.SQLite database operation class, wincore.Mutlicaste network broadcast class, wincore.HttpUtils network request class, wincore.HttpDownload file download class, wincore.OSSUpload file upload class, wincore.BrowserForm embedded Chrome window class, wincore.WindowForm native window class, wincore.InkView native writing and drawing class, wincore.LiveSession streaming media transmission class, wincore.LiveBoardcast network connection class and wincore.AsyncEvent thread class; The wincore.System system tool class is used to obtain basic system information, load third-party processes, take screenshots, and read and write registry keys; The wincore.Disk disk tool class is used to provide local file operations such as reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compressing and decompressing files, and caching data; The wincore.SQLite database operation class is used to implement database addition, deletion, modification and query; The wincore.Mutlicaste network broadcast class: used to implement data broadcasting and receiving in the local area network; The wincore.HttpUtils network request class is used to implement httppost and get requests and provide request data header information; The wincore.HttpDownload file download class: used to implement file download; The wincore.OSSUpload file upload class is used to upload files to the cloud platform; The wincore.BrowserForm embedded Chrome window class is used to provide a window container for loading HTML and implement windows library functions for operating windows. The wincore.WindowForm native window class is used to create a native windows window based on Duilib; The wincore.InkView native writing and drawing class is used to implement window writing and drawing, and provides brushes, erasers, selection mode switching, and brush color switching; The wincore.LiveSession streaming media transmission class is used to implement streaming media recording and playback; The wincore.LiveBoardcast network connection class is used to provide a websocket network connection to achieve network interconnection between the various ends of the c / s architecture; The wincore.AsyncEvent thread class is used to implement multi-threading functions; The backend support factory class modules include CSystemFoctory system factory class, CDiskFoctory file management factory class, CSQLiteFoctory database operation factory class, CMutlicastFoctory network multicast engineering class, CHTTPUtilsFoctory network request factory class, CHTTPDownloadFoctory file download class, COSSUploadFoctory file upload factory class, CBrowserFoctory embedded cef window factory class, CWndFrameFoctory native windows window factory class, CInkCoreFoctory native window writing and painting factory class, CLiveSessionFoctory multimedia stream factory class, CWSBoardcastClientwebsocket network connection class and CAsyncEventFoctory multithreading factory class; The CSystemFoctory system factory class corresponds to the wincore.System system tool class, and is used to provide backend support for obtaining basic system information, loading third-party processes, taking screenshots, and reading and writing registry functions. The CDiskFoctory file management factory class corresponds to the wincore.Disk disk tool class and is used to provide backend support for reading and writing files, copying, deleting, cutting, renaming files, obtaining file attribute information, creating new folders, compression and decompression, and data caching functions; The CSQLiteFoctory database operation factory class corresponds to the wincore.SQLite database operation class and is used to provide functional support for creating databases, adding, deleting, modifying and checking databases; The CMutlicastFoctory network multicast engineering class corresponds to the wincore.Mutlicaste network broadcast class and is used to implement data broadcasting and receiving in a local area network; The CHTTPUtilsFoctory network request factory class corresponds to the wincore.HttpUtils network request class, and is used to implement httppost and get requests, and provide request data header information; The CHTTPDownloadFoctory file download class corresponds to the wincore.HttpDownload file download class and is used to implement file download; The COSSUploadFoctory file upload factory class corresponds to the wincore.OSSUpload file upload class and is used to provide backend support for uploading files to the cloud platform; The CBrowserFoctory embedded cef window factory class corresponds to the wincore.BrowserForm embedded Chrome window class, and is used to provide a window container for loading HTML, and implement the windows library function for operating the window; The CWndFrameFoctory native windows factory class corresponds to the wincore.WindowForm native window class and is used to create a native windows window based on Duilib; The CInkCoreFoctory native window writing and drawing factory class corresponds to the wincore.InkView native writing and drawing class, is used to implement window writing and drawing, and provides brushes, erasers, selection mode switching and brush color switching; The CLiveSessionFoctory multimedia stream factory class corresponds to the wincore.LiveSession streaming media transmission class and is used to implement streaming media recording and playback; The CWSBoardcastClientwebsocket network connection class is used to realize the network interconnection between each end of the c / s architecture, which corresponds to the wincore.LiveBoardcast network connection class; The CAsyncEventFoctory multi-thread factory class corresponds to the wincore.AsyncEvent thread class and is used to implement multi-thread functions.

2. A system for front-end calling windows functions according to claim 1, Features: The front-end wincore.js development component is encapsulated as a unified wincore.js calling component, and the back-end support factory class module adopts an open design model.