Function expansion method of office application program, electronic device and storage medium

By using ATL plug-in technology to create target panes and IPC service processes in office applications, the problem of inflexible interface dependence and interface display of functional extension plug-ins in the existing technology is solved, and the stability and user experience are improved.

CN119781864APending Publication Date: 2025-04-08MACROWING SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411972250.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-30
Publication Date
2025-04-08

AI Technical Summary

Technical Problem

The feature extension plug-in for existing office applications relies heavily on WPS and Office interfaces, resulting in the need to be updated every time a new version is released to adapt to interface changes, increasing development and maintenance costs. In addition, the interface placement of the plug-in is fixed and cannot be adjusted according to user needs, affecting the user experience.

Method used

Using ATL plug-in technology to expand the functions of office applications, create target panes in office applications by registering ATL plug-in, and start IPC service processes and interface processes to achieve flexibility and responsiveness of interface display.

Benefits of technology

Reduces dependence on WPS and Office interfaces, improves stability and flexibility of feature extensions, reduces development and maintenance costs, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119781864A_ABST
    Figure CN119781864A_ABST
Patent Text Reader

Abstract

The invention discloses a function extension method of an office application, an electronic device and a storage medium. The method comprises: registering an Active Template Library (ATL) plug-in corresponding to the office application, and creating a target pane in the office application through the ATL plug-in; starting an inter-process communication service (IPC service process) and an interface process based on the ATL plug-in, and passing a handle and an IPC service name to the interface process; the interface process controls the target pane to be displayed in a preset display mode in the office application based on the handle, and responds to resource operations on the target pane to obtain a response result; the interface process passes the response result to the IPC service process according to the IPC service name; the IPC service process calls an interaction layer according to the response result to perform corresponding operations on a target file displayed in the office application. The decoupling of the plug-in function and the office application can be achieved, and the flexibility of display can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of software technology, and in particular to a function expansion method of an office application program, an electronic device and a storage medium. Background Art

[0002] The function extension plug-ins of existing office applications are heavily dependent on wps and offi ce in terms of technology. The interfaces will change with each new version, and their positions are fixed when displayed on the interface and will not move with the document.

[0003] For example, the Islide product is a one-click efficiency plug-in based on PowerPoint. Islide may face the problem of interface changes every time WPS or Office releases a new version. This requires the Islide team to constantly follow up and update the product to adapt to the new interface standards, which undoubtedly increases the cost of development and maintenance. For example, when Office is upgraded from version 2019 to version 2021, its COM interface may have changed, and Islide needs to adapt to these changes to ensure that the product can run normally.

[0004] In addition, the Islide interface display position is fixed, and users cannot adjust it according to their needs. This design may affect the user experience in some cases. For example, when the document is scrolling, the Islide interface may block the content that the user wants to view. Summary of the invention

[0005] The present invention provides a function extension method of an office application, an electronic device and a storage medium, which use ATL plug-in technology to expand the function of the office application, have a low coupling degree with the office application, ensure stability, and provide a more flexible interface display mode.

[0006] According to one aspect of the present invention, a method for extending the function of an office application is provided, comprising:

[0007] Registering an ATL plug-in corresponding to an office application, and creating a target pane in the office application through the ATL plug-in;

[0008] Starting the IPC service process and the interface process based on the ATL plug-in, and passing the handle and the IPC service name to the interface process;

[0009] The interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, and responds to resource operations on the target pane to obtain a response result;

[0010] The interface process transmits the response result to the IPC service process according to the IPC service name;

[0011] The IPC service process calls the interaction layer according to the response result to perform corresponding operations on the target file displayed in the office application.

[0012] In a possible implementation, creating a target pane in an office application using the ATL plug-in includes: drawing a function button in a start tab of the office application, and creating the target pane when a triggering operation of the function button is detected.

[0013] In a possible implementation, the interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, including: the interface process obtains the main window position in the office application according to the handle, and sets the preset display mode of the target pane according to the main window position; wherein the preset display mode includes the target pane following the main window in real time.

[0014] In a possible implementation, before responding to the resource operation on the target pane, it also includes: the interface process registers the function called by the front end based on the cef registration extension code technology, wherein the function includes at least one of the following: an intelligent question and answer function, a title / content search function, and a directory positioning function.

[0015] In a possible implementation, the responding to the resource operation on the target pane to obtain a response result includes: based on the resource operation, obtaining the target content corresponding to the resource operation through the function function, and processing the target content to obtain the response result.

[0016] In a possible implementation, the interface process passes the response result to the IPC service process according to the IPC service name, including: the interface process encapsulates the response result into an IPC message according to the IPC service name, and passes it to the IPC service process corresponding to the IPC service name.

[0017] In a possible implementation, the IPC service process calls the interaction layer according to the response result, including: the IPC service parses the IPC message to obtain the response result, and determines the operation type and the target content of the resource operation corresponding to the response result based on the response result; determines the target interface of the interaction layer according to the operation type, and calls the target interface to process the target content; wherein the operation types include Word class operations, ppt class operations, and document class operations, and the target interfaces include Word class interfaces, ppt class interfaces, and windows file stream operation interfaces.

[0018] In one possible implementation, the corresponding operation is performed on the target file displayed in the office application, including: if the target interface is a Word class interface or a Windows file stream operation interface, the target content is inserted into the cursor of the target file; if the target interface is a ppt class interface, the target content is inserted into the next page of the current page in the target file.

[0019] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0020] at least one processor;

[0021] and a memory communicatively connected to the at least one processor; wherein,

[0022] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the function expansion method of the office application program described in any embodiment of the present invention.

[0023] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the function expansion method of an office application program described in any embodiment of the present invention when executed.

[0024] It is understandable that Islide products are heavily dependent on the interfaces of WPS and Office. Every time WPS or Office releases a new version, Islide may face the problem of interface changes. This requires the Islide team to constantly follow up and update the product to adapt to the new interface standards, which undoubtedly increases the cost of development and maintenance. The technical solution of the embodiment of the present invention relies on public and stable interfaces for function buttons, and the underlying interaction technology relies on the public functions of the Windows system. It has a low degree of coupling with Office and WPS, and its stability is guaranteed.

[0025] In addition, the interface display position of Islide is fixed, and users cannot adjust it according to their needs. This design may affect the user experience. For example, when the document is scrolling, the interface of Islide may block the content that the user wants to view. In an embodiment of the present invention, a more flexible interface display method is provided. The plug-in can be embedded in the document structure and move with the movement of the document, ensuring that the user can always see the required function buttons and panes. At the same time, double-clicking can also allow the plug-in to be separated from the document structure, magnetically attracted to the outside of the document window, and move with the change of the document position. This design not only improves the flexibility of the interface, but also enables users to more conveniently access and use plug-in functions when processing long documents or performing complex editing.

[0026] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0028] Figure 1 A flowchart of a method for extending the functions of an office application provided in Embodiment 1 of the present invention;

[0029] Figure 2 This is a display interface diagram of an office application provided in the first embodiment of the present invention;

[0030] Figure 3 A flowchart of a method for extending the functions of an office application provided in Embodiment 2 of the present invention;

[0031] Figure 4 A system architecture diagram applicable to the function expansion method of an office application program according to the second embodiment of the present invention;

[0032] Figure 5 A logic diagram corresponding to the underlying interaction part provided in the second embodiment of the present invention;

[0033] Figure 6 This is a schematic diagram of the structure of an electronic device provided in Embodiment 3 of the present invention. DETAILED DESCRIPTION

[0034] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0035] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0036] Embodiment 1

[0037] Figure 1 This is a flow chart of a method for extending the functions of an office application provided in the first embodiment of the present invention. This embodiment is applicable to the case where the functions of an office application are extended based on an ATL plug-in. The method can be executed by a function extension device for an office application. The device can be implemented in the form of hardware and / or software and can be configured in a computer device. Figure 1 As shown, the method specifically comprises the following steps:

[0038] S110 , registering an ATL plug-in corresponding to an office application, and creating a target pane in the office application through the ATL plug-in.

[0039] Among them, office applications include but are not limited to WPS and Office; registering ATL plug-ins means using ActiveTemplate Library (ATL) to create Office plug-ins. ATL plug-ins can extend the functions of Word and PowerPoint and provide additional toolbar buttons and menu options. ATL is a set of C++ template libraries provided by Microsoft, mainly used to develop ActiveX controls and COM objects.

[0040] Specifically, by registering the ATL plug-in in the operating system (such as the Windows system), the plug-in can be recognized and loaded as an extension module of Word and PPT. After the ATL plug-in is successfully registered, a custom target pane can be created in the display interface of the office application based on the ATL plug-in. The user can perform some operations in the target pane, and the target pane can also display some content. For example, the operation can be a search operation, and the content displayed in the target pane can be the searched text or picture.

[0041] like Figure 2 As shown, it is a display interface diagram of an office application provided in the first embodiment of the present invention. The target pane created in the display interface may be an "easy-to-write pane".

[0042] In a possible implementation, creating a target pane in an office application using the ATL plug-in may include: drawing a function button in a start tab of the office application, and creating the target pane when a triggering operation of the function button is detected.

[0043] Continue as Figure 2 As shown in the figure, based on ATL plug-in technology, you can draw exclusive function buttons in office applications. For example, add a "Quick Writing" button under the "Home" tab of Word. When the user clicks the "Quick Writing" button, an "Easy Writing Pane" will pop up. This pane can be used to display and operate resources, such as search results, reference content, etc.

[0044] S120: Starting an IPC service process and an interface process based on the ATL plug-in, and passing a handle and an IPC service name to the interface process.

[0045] Among them, the interface process is an independent process, which is responsible for interacting with the user and communicating with the IPC service process to obtain or send data.

[0046] Specifically, an IPC service process and an interface process may be started. The IPC service process is responsible for monitoring messages from the interface process and responding to the monitored messages, and the interface process interacts with the user.

[0047] When the ATL plug-in starts the interface process, it passes the handle as a parameter to the interface process, and the interface process can use this handle to interact with the office application.

[0048] When the ATL plug-in starts the interface process, it will also pass the IPC service name as a parameter to the interface process. The IPC service name is an identifier that is used to uniquely identify the IPC service process. Based on the IPC service name, the interface process can establish communication with the IPC service process.

[0049] S130: The interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, and responds to resource operations on the target pane to obtain a response result.

[0050] The preset display mode may be a real-time follow-up or a magnetic attraction mode; the resource operation may refer to an operation performed by a user in a target pane, and the response result may be a result corresponding to the resource operation.

[0051] Specifically, the interface process can set the display mode of the target pane according to the received handle, and can display it according to a preset display mode. Then, the user can perform resource operations in the displayed target pane and obtain a response result.

[0052] In a possible implementation, the interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, which may include: the interface process obtains the main window position in the office application according to the handle, and sets the preset display mode of the target pane according to the main window position.

[0053] Specifically, the interface process can use the handle to determine the position information of the main window in the office application, and adjust the display position of the target pane according to the position information to achieve real-time tracking. At the same time, the magnetic suction mode can also be realized, that is, when the user drags the interface display part to the edge of the document window, it will automatically be attached to the edge.

[0054] For example, when the user scrolls a Word document, the interface display part scrolls along with the document, keeping the relative position unchanged. When the user drags the target pane to the right side of the Word window, the target pane is automatically attached to the right edge.

[0055] In the embodiment of the present invention, the main window position is determined according to the handle and the target window is set to follow in real time, so that no matter how the document is scrolled or moved, the target window will always remain within the user's field of view. At the same time, a magnetic suction mode is provided so that the user can fix the target window outside the document window as needed.

[0056] S140: The interface process transmits the response result to the IPC service process according to the IPC service name.

[0057] It is understandable that after receiving the IPC service name, the interface process can establish communication with the IPC service process in the ATL plug-in based on the IPC service name, and then pass the response result to the IPC service process.

[0058] S150: The IPC service process calls the interaction layer according to the response result to perform corresponding operations on the target file displayed in the office application.

[0059] The target file may be a file displayed in the main window of an office application, including but not limited to Word and PPT.

[0060] Specifically, the IPC service process can analyze the response results and determine the specific operations that need to be performed on the target file. If an operation (such as editing, saving, inserting content, etc.) needs to be performed on the target file in the office application, the IPC service process will call the interaction layer and perform the corresponding operation on the target file displayed in the office application based on the interaction layer.

[0061] It is understandable that Islide products are heavily dependent on the interfaces of WPS and Office. Every time WPS or Office releases a new version, Islide may face the problem of interface changes. This requires the Islide team to constantly follow up and update the product to adapt to the new interface standards, which undoubtedly increases the cost of development and maintenance. The technical solution of the embodiment of the present invention relies on public and stable interfaces for function buttons, and the underlying interaction technology relies on the public functions of the Windows system. It has a low degree of coupling with Office and WPS, and its stability is guaranteed.

[0062] In addition, the interface display position of Islide is fixed, and users cannot adjust it according to their needs. This design may affect the user experience. For example, when the document is scrolling, the interface of Islide may block the content that the user wants to view. In an embodiment of the present invention, a more flexible interface display method is provided. The plug-in can be embedded in the document structure and move with the movement of the document, ensuring that the user can always see the required function buttons and panes. At the same time, double-clicking can also allow the plug-in to be separated from the document structure, magnetically attracted to the outside of the document window, and move with the change of the document position. This design not only improves the flexibility of the interface, but also enables users to more conveniently access and use plug-in functions when processing long documents or performing complex editing.

[0063] Embodiment 2

[0064] Figure 3 This is a flowchart of a method for extending the functions of an office application provided in the second embodiment of the present invention. Based on the above embodiment, this embodiment embodies the process of performing corresponding operations on the target file displayed in the office application according to the resource operation on the target pane. The specific implementation method can refer to the technical solution of this embodiment. Among them, the technical terms that are the same or corresponding to the above embodiment are not repeated here. Figure 3 As shown, the method specifically comprises the following steps:

[0065] S210: Register an ATL plug-in corresponding to an office application, and create a target pane in the office application through the ATL plug-in.

[0066] S220: Starting an IPC service process and an interface process based on the ATL plug-in, and passing a handle and an IPC service name to the interface process.

[0067] S230: The interface process controls the target pane to be displayed in the office application in a preset display manner based on the handle.

[0068] like Figure 4 The figure shows a system architecture diagram applicable to the function extension method of the office application program of the second embodiment of the present invention. The overall logic includes: 1. Registering the ATL plug-in of word and ppt; 2. The plug-in creates a pane in the document structure and starts the IPC service and interface process; 3. The interface operation is transmitted to the plug-in through IPC; 4. The plug-in calls the interaction layer function according to the operation type and resource data.

[0069] S240, the interface process registers the function called by the front end based on the cef registration extension code technology.

[0070] Specifically, the function called by the front end is registered using the technical method of registering extension code with cef. For example, a function for searching content can be registered. When the user enters a keyword in the interface, the function will be called and the search results will be returned.

[0071] S250, responding to the resource operation on the target pane, based on the resource operation, acquiring the target content corresponding to the resource operation through the function function, and processing the target content to obtain the response result.

[0072] The resource operation can be an operation performed by the user in the target pane, such as a search operation or a reference operation, etc. The target content can be the content obtained based on the user's resource operation. The target content can be displayed in the target pane, and the user can further operate the target content, such as a one-click reference operation, to obtain a response result. The response result can be composed of the user's operation and the target content.

[0073] Specifically, users can perform resource operations in the target pane, such as entering questions in the question-and-answer box, entering keywords in the search box to search, selecting a directory to locate, etc. Based on the resource operation, matching function functions can be called, such as intelligent question-and-answer functions, search functions, and directory location functions, to obtain the target content that the user wants. For example, if a user enters "keyword A" in the search box, a function function can be called to obtain text content related to keyword A and display it to the user.

[0074] Furthermore, the user can perform further resource operations on the acquired target content, such as one-key citation, word marking, etc. These resource operations and target content can be further transmitted to the IPC service process as response results.

[0075] S260: The interface process encapsulates the response result into an IPC message according to the IPC service name, and transmits the message to the IPC service process corresponding to the IPC service name.

[0076] Specifically, the interface process may encapsulate the response result into an IPC message, and send the response result to the IPC service process corresponding to the IPC service name in the ATL plug-in layer through the IPC communication technology.

[0077] For example, after searching for the target content, the user selects a one-click reference text interface process to pass the operation and referenced text to the IPC service process.

[0078] S270: The IPC service parses the IPC message to obtain the response result, and determines the operation type and the target content of the resource operation corresponding to the response result based on the response result.

[0079] The operation type may be used to distinguish the type of file on which the user performs the resource operation on the target pane, and the operation type may be at least one of Word, PPT, or document types.

[0080] S280: Determine a target interface of the interaction layer according to the operation type, and call the target interface to process the target content.

[0081] In one possible implementation, a corresponding operation is performed on the target file displayed in the office application, including: if the target interface is a Word class interface or a Windows file stream operation interface, the target content is inserted into the cursor of the target file; if the target interface is a ppt class interface, the target content is inserted into the next page of the current page in the target file.

[0082] Specifically, the interaction layer can provide three types of target interfaces for the ATL plug-in layer to call: Word class interface, PPT class interface and document class interface. These interfaces are used to process operations and contents related to Word, PPT and documents respectively.

[0083] For example, if the user wants to insert a target content into a Word document, the plug-in will insert the target content into the Word document at the cursor position through the Word class interface. For Word and document-type content, it is usually inserted into the cursor position; for PPT-type content, a new slide can be created and inserted.

[0084] Continue as Figure 4 As shown, in actual applications, the plug-in part, the underlying interaction part and the interface display part are introduced in turn.

[0085] 1. Plug-in part:

[0086] This part is the overall scheduling layer;

[0087] A. Based on ATL plug-in technology, relying on the public interface of wps and office, draw exclusive function buttons (start-quick writing) in word and ppt framework;

[0088] B. Click the "Quick Writing" button to pop up the custom pane (easy writing pane). For the stability of the document, do not do any business logic in the pane;

[0089] C. Start the IPC service to receive resource operations of the display window process;

[0090] D. Start the display window process, passing the parameter handle and IPC service name;

[0091] E. After receiving the IPC message, call the interaction layer DLL interface to insert resources.

[0092] 2. Bottom-level interaction:

[0093] Provides interfaces for ATL plug-in layer calls. The interface design is divided into three categories: Word class, ppt class, and document class;

[0094] A. After receiving the IPC of the interface operation, the ATL plug-in calls the corresponding interface of the interaction layer according to different types and resource information;

[0095] B. The Word and PPT class interfaces use the public interface of Office to obtain resource content;

[0096] C. The document class uses the Windows file stream operation interface to read the content;

[0097] D. After the content is read successfully, the main window information is parsed according to different types and resources;

[0098] E. Insert corresponding information according to different operation types:

[0099] a. Word and document classes, insert at the cursor of the main window;

[0100] b. The ppt class is divided into information and slides. Information will be inserted into the current page, and slides will create a new slide and insert it into the next page of the operation page in the current main window;

[0101] Among them, the logic diagram corresponding to the underlying interaction part is as follows Figure 5 shown.

[0102] 3. Interface display part:

[0103] Independent process parameter startup;

[0104] A. Parse parameter handle and IPC service name;

[0105] B. The handle is used for document following. The main window position is obtained according to the handle, and the real-time following of the display interface is set to complete the magnetic suction mode;

[0106] C. Use the technical method of cef to register the extension code and register the function called by the front end;

[0107] D. Front-end insertion operation, obtaining target content through intelligent question and answer, title / content search, directory positioning, etc.;

[0108] E. Obtain the result content by one-click citation, word marking and other operations on the target content;

[0109] F. Call the function and send the result information to the ATL plug-in layer through IPC communication technology.

[0110] It is understandable that Islide products are heavily dependent on the interfaces of WPS and Office. Every time WPS or Office releases a new version, Islide may face the problem of interface changes. This requires the Islide team to constantly follow up and update the product to adapt to the new interface standards, which undoubtedly increases the cost of development and maintenance. The technical solution of the embodiment of the present invention relies on public and stable interfaces for function buttons, and the underlying interaction technology relies on the public functions of the Windows system. It has a low degree of coupling with Office and WPS, and its stability is guaranteed.

[0111] In addition, the interface display position of Islide is fixed, and users cannot adjust it according to their needs. This design may affect the user experience. For example, when the document is scrolling, the interface of Islide may block the content that the user wants to view. In an embodiment of the present invention, a more flexible interface display method is provided. The plug-in can be embedded in the document structure and move with the movement of the document, ensuring that the user can always see the required function buttons and panes. At the same time, double-clicking can also allow the plug-in to be separated from the document structure, magnetically attracted to the outside of the document window, and move with the change of the document position. This design not only improves the flexibility of the interface, but also enables users to more conveniently access and use plug-in functions when processing long documents or performing complex editing.

[0112] Embodiment 3

[0113] Figure 6 A schematic diagram of the structure of an electronic device provided for Embodiment 3 of the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0114] like Figure 6 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0115] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0116] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a method for expanding the functions of an office application.

[0117] In some embodiments, the function extension method of the office application can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the function extension method of the office application described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to execute the function extension method of the office application in any other appropriate manner (for example, by means of firmware).

[0118] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0119] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0120] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0121] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0122] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0123] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0124] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0125] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for extending the function of an office application, characterized in that: include: Registering an ATL plug-in corresponding to an office application, and creating a target pane in the office application through the ATL plug-in; Starting the IPC service process and the interface process based on the ATL plug-in, and passing the handle and the IPC service name to the interface process; The interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, and responds to resource operations on the target pane to obtain a response result; The interface process transmits the response result to the IPC service process according to the IPC service name; The IPC service process calls the interaction layer according to the response result to perform corresponding operations on the target file displayed in the office application.

2. The method according to claim 1, characterized in that The step of creating a target pane in an office application using the ATL plug-in includes: A function button is drawn in a start tab of an office application, and when a triggering operation of the function button is detected, the target pane is created.

3. The method according to claim 1, characterized in that The interface process controls the target pane to be displayed in the office application in a preset display mode based on the handle, including: The interface process obtains the main window position in the office application according to the handle, and sets the preset display mode of the target pane according to the main window position; The preset display mode includes the target window pane following the main window in real time.

4. The method according to claim 1, characterized in that Before responding to the resource operation on the target pane, the method further includes: The interface process registers the functional functions called by the front end based on the cef registration extension code technology, wherein the functional functions include at least one of the following: an intelligent question and answer function, a title / content search function, and a directory positioning function.

5. The method according to claim 4, characterized in that The responding to the resource operation on the target pane to obtain a response result includes: Based on the resource operation, the target content corresponding to the resource operation is acquired through the function, and the target content is processed to obtain the response result.

6. The method according to claim 5, characterized in that The interface process transmits the response result to the IPC service process according to the IPC service name, including: The interface process encapsulates the response result into an IPC message according to the IPC service name, and transmits the message to the IPC service process corresponding to the IPC service name.

7. The method according to claim 6, characterized in that The IPC service process calls the interaction layer according to the response result, including: The IPC service parses the IPC message to obtain the response result, and determines the operation type and the target content of the resource operation corresponding to the response result based on the response result; Determine the target interface of the interaction layer according to the operation type, and call the target interface to process the target content; The operation types include Word-like operations, ppt-like operations, and document-like operations, and the target interfaces include Word-like interfaces, ppt-like interfaces, and windows file stream operation interfaces.

8. The method according to claim 7, characterized in that The performing corresponding operations on the target file displayed in the office application program includes: If the target interface is a Word class interface or a Windows file stream operation interface, inserting the target content into the cursor position of the target file; If the target interface is a ppt-type interface, the target content is inserted into the next page of the current page in the target file.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the function expansion method of the office application program according to any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the function expansion method of the office application program according to any one of claims 1 to 8 when executed.