Object transmission method and device, equipment, storage medium and product

By using pre-configured address extraction functions and target drag and drop functions on the Outlook client, automatically storing and uploading mail to the ITM system, the problem of cumbersome mail upload steps in the ITM system is solved, and efficient and convenient object transmission is achieved.

CN119271100APending Publication Date: 2025-01-07CHINA CONSTRUCTION BANK +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411168160.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

In the ITM system, users cannot directly upload emails from Outlook. The existing technology requires manually saving emails and searching them step by step, which is cumbersome.

Method used

The pre-configured address extraction function obtains the memory address of the target drag function from the target dynamic link library, automatically store the object to be transferred to the local file path, and obtains file information through the target drag function, so as to automatically upload it to the ITM system.

Benefits of technology

It simplifies the object transfer process, improves convenience and user experience, realizes one-click upload, and avoids the steps of manually finding and extracting file information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119271100A_ABST
    Figure CN119271100A_ABST
Patent Text Reader

Abstract

The invention discloses an object transmission method and device, equipment, a storage medium and a product, and relates to the technical field of computers.The method comprises the steps that in response to a received object dragging operation, a target memory address of a target dragging function is obtained from a pre-loaded target dynamic link library through a pre-configured address extraction function; calling a target dragging function corresponding to the target memory address to automatically store the to-be-transmitted object to a local file path; accessing a local file path corresponding to the to-be-transmitted object through the target dragging function, and obtaining file information of the to-be-transmitted object from the local file path; and in response to the object release operation, uploading file information corresponding to the to-be-transmitted object to a task management system. The file information of the to-be-transmitted object is automatically acquired, and the task management system can automatically identify the to-be-transmitted object. And moreover, the to-be-transmitted object is uploaded in the task management system in a one-key manner, so that the operation steps of the user in the object transmission process are simplified.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of computer technology, and in particular, to an object transmission method, apparatus, device, storage medium and product. Background Art

[0002] In the daily use of Information Technology Management (ITM), users can achieve collaborative work through file collaboration and sharing. Among them, the writing of objects to be transferred, such as emails, is a key step in the approval workflow of the ITM system. Users usually upload the objects to be transferred as attachments to the attachment list of the ITM system workflow and submit them to the next link for approval.

[0003] However, due to the particularity of the Outlook email format, the system cannot recognize the email as an attachment and upload it. If the user wants to directly drag and drop the email from Outlook to the ITM system, it is currently impossible. In the prior art, the user needs to save the email to the local disk first, then click the upload attachment button on the ITM system interface, and find the email step by step to upload the email. The operation steps are cumbersome. Therefore, how to conveniently realize the transmission of emails has become a problem that needs to be solved urgently. Summary of the invention

[0004] The embodiments of the present invention provide an object transmission method, device, equipment, storage medium and product, which are used to solve the problem of complicated steps in uploading emails to a task management system in the prior art.

[0005] In a first aspect, an embodiment of the present invention provides an object transmission method, which is applied to an Outlook client and includes:

[0006] In response to the received object drag operation, obtaining a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function;

[0007] Calling the target drag function corresponding to the target memory address to automatically store the object to be transferred to the local file path;

[0008] Accessing the local file path corresponding to the object to be transmitted through the target drag function, and obtaining the file information of the object to be transmitted from the local file path;

[0009] In response to the received object release operation, the file information corresponding to the object to be transferred is uploaded to the task management system; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

[0010] In a second aspect, an embodiment of the present invention further provides an object transmission device, which is applied to an Outlook client and includes:

[0011] An address acquisition module, for obtaining a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function in response to a received object drag operation;

[0012] An object storage module, used to call the target drag function corresponding to the target memory address to automatically store the object to be transferred to a local file path;

[0013] An information acquisition module, used to access the local file path corresponding to the object to be transmitted through the target drag function, and obtain the file information of the object to be transmitted from the local file path;

[0014] The object uploading module is used to upload the file information corresponding to the object to be transferred to the task management system in response to the received object release operation; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

[0015] In a third aspect, an embodiment of the present invention further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, an object transmission method as described in any one of the embodiments of the present invention is implemented.

[0016] In a fourth aspect, an embodiment of the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements an object transmission method as described in any one of the embodiments of the present invention.

[0017] In a fifth aspect, an embodiment of the present invention further provides a computer program product, including a computer program, which, when executed by a processor, implements an object transmission method as described in any one of the embodiments of the present invention.

[0018] In the embodiment of the present invention, in response to a received object drag operation, a target memory address of a target drag function is obtained from a pre-loaded target dynamic link library through a pre-configured address extraction function, the target drag function corresponding to the target memory address is called to automatically store the object to be transmitted in a local file path, and then the local file path corresponding to the object to be transmitted is accessed through the target drag function, and the file information of the object to be transmitted is obtained from the local file path, so that the file information of the object to be transmitted is automatically obtained, and there is no need to manually search for the local file path corresponding to the object to be transmitted step by step and manually extract the file information of the object to be transmitted, thereby improving the convenience of object transmission; in response to a received object release operation, the file information corresponding to the object to be transmitted is uploaded to the task management system, so that the object to be transmitted is uploaded in the task management system in a one-click manner; and, the file operation object in the target drag function and the task management system follow the same web page development specification, so that the task management system automatically recognizes the object to be transmitted; at the same time, the user performs the object drag operation and the mail release operation, so that the user can complete various operations more efficiently and conveniently, simplifies the user's operation steps during the object transmission process, and improves the user's use experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings required for use in the embodiments are briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without creative work.

[0020] Figure 1 is a flow chart of an object transmission method provided by an embodiment of the present invention;

[0021] Figure 2 is a flow chart of another object transmission method provided by an embodiment of the present invention;

[0022] Figure 3 is a flowchart of another object transmission method provided by an embodiment of the present invention;

[0023] Figure 4 is a structural schematic diagram of an object transmission device provided by an embodiment of the present invention;

[0024] Figure 5 It is a structural block diagram of an electronic device of an object transmission method provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0025] 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.

[0026] 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.

[0027] The acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.

[0028] It should be noted that in the embodiments of the present application, certain software, components, models and other existing solutions in the industry may be mentioned, and they should be regarded as exemplary. Their purpose is only to illustrate the feasibility of implementing the technical solution of the present application, but it does not mean that the applicant has or will necessarily use the solution.

[0029] In one embodiment, Figure 1 This is a flow chart of an object transmission method provided by an embodiment of the present invention. This embodiment is applicable to the case of uploading Outlook emails to a task management system with one click. The method can be executed by an object transmission device, which can be implemented in the form of hardware and / or software. The object transmission device can be configured in an electronic device, such as an Outlook client. Figure 1 As shown, the method includes:

[0030] S110 . In response to a received object drag operation, a target memory address of a target drag function is obtained from a preloaded target dynamic link library through a preconfigured address extraction function.

[0031] Among them, the object dragging operation can be understood as the action of a user dragging and moving an object through an input device such as a mouse, a touchpad or a touch screen. Generally speaking, the object dragging operation can be an action of selecting one or more objects, holding down the mouse button or touching the screen and moving the finger, and dragging the selected object from one position to another. The target dragging function refers to a pre-created function for performing the extraction of file information of the object to be transmitted and storing it in the local file path, and obtaining the file information of the object to be transmitted from the local file path. In the actual application process, the target dragging function may include a file extraction variable, a file access variable and a file operation object. Among them, the file extraction variable can be understood as a variable for performing the function of extracting the file information of the object to be transmitted, and the file extraction variable can point to the object to be transmitted; the file access variable can be understood as a variable for performing the function of accessing the local file path of the object to be transmitted, and the file access variable can point to the local file path or the file operation object; the file operation object can be understood as an entity of a specific object or class for processing file-related operations, and the file operation object can point to the local file path. In one embodiment, the file extraction variable can be a variable pointing to the object to be transmitted, for example, the file extraction variable can be pDropSource. The file access variable can be a variable that calls a file operation object, such as pDataObj. At the same time, a CFile object can be constructed as a file operation object, pointing to a local file path, to achieve the acquisition of file information of the object to be transferred during the object dragging process. Among them, the CFile object is an object that can be recognized by the task management system.

[0032] The address extraction function can be understood as a function for obtaining the address of a specified function. Exemplarily, the address extraction function may include the GetProcAddress function. The target dynamic link library can be understood as a pre-configured link library that stores the memory address of a specific function. The specific function may include a target drag function and an original drag function. After responding to an object drag operation, the target drag function can be dynamically determined in the target dynamic link library to determine the target memory address of the target drag function. In actual applications, the memory address in the target dynamic link library can be updated in response to an object drag operation. The target memory address is the memory address of the target drag function. In actual operation, the target memory address may be an address dynamically allocated by the operating system during program execution and stored in the target dynamic link library.

[0033] In an embodiment, when an object drag operation is received, a pre-created target drag function can be called from a pre-loaded target dynamic link library through a pre-configured address extraction function. Generally speaking, the object drag operation can include the entire process of dragging the object to be transferred from the Outlook client to the task management system; or, it can include the instant process of dragging the object to be transferred to the task management system. In an embodiment, obtaining the file information of the object to be transferred can also be performed by a file extraction variable in the target drag function.

[0034] S120: Calling a target drag function corresponding to the target memory address to automatically store the object to be transferred to a local file path.

[0035] Among them, the object to be transmitted can be understood as data or entity to be transmitted by a certain method or mechanism. Exemplarily, the object to be transmitted can include but is not limited to emails sent through an Outlook client. The number of objects to be transmitted can include one or more. The local file path can be understood as the path for storing files or folders in a computer storage system. The local file path can be a string used to identify the location of a file or folder. In general, the local file path can be characterized by a drive letter, a directory name, a file name, and a separator. For example, in a Windows system, a complete local file path can include a drive letter + separator + directory name + separator + file name. The specific format of the local file path can be set in advance according to user needs. In one embodiment, the local file path can be an absolute path or a relative path, which is not limited. In actual applications, the local file path and the object to be transmitted can be a one-to-one correspondence.

[0036] In an embodiment, after determining the target memory address, the target drag function corresponding to the target memory address can be called to automatically store the object to be transferred to the local file path. In the actual operation process, the pre-created target drag function can be called to obtain the file information of the object to be transferred, and then the file information of the object to be transferred can be automatically stored in the local file path.

[0037] S130 . Access the local file path corresponding to the object to be transferred through the target drag function, and obtain the file information of the object to be transferred from the local file path.

[0038] Among them, file information can be understood as data of various descriptions and attributes contained in the object to be transmitted. The file information may include all data information of the object to be transmitted; or, part of the information of the object to be transmitted may be filtered. In one embodiment, the file information of the object to be transmitted includes at least one of the following: object subject and object content. The object subject can be understood as a brief summary of the object content, which is used to enable users to quickly understand the object content and the key information in the object content. The object content can be understood as detailed information that the user needs to convey. In actual applications, when the object is to be sent to an email, the file information of the object to be transmitted may include at least the email subject and the email content.

[0039] In an embodiment, the target drag function can be called to access the local file path corresponding to the object to be transferred, and the file information such as the object subject and object content of the object to be transferred can be read in the local file path. In the actual operation process, when the file access variable directly points to the local file path, the file access variable of the target drag function can be called to access the pointed local file path; or, when the file access variable directly points to the file operation object, and the file operation object points to the local file path, the file access variable of the target drag function can be used to access the pointed file operation object and access the local file path. At this time, the file information of the object to be transferred in the local file path can be extracted.

[0040] S140. In response to the received object release operation, the file information corresponding to the object to be transferred is uploaded to the task management system; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

[0041] Among them, the object release operation can be understood as the action of stopping dragging and moving the object through an input device such as a mouse, touchpad or touch screen after dragging the object to be transferred to a specified position through an object drag operation. Generally speaking, the object release operation can be the action of releasing the mouse button or stopping touching the screen after dragging the object to be transferred to the task management system through an object drag operation. The task management system can be a system for file collaboration and file sharing, and the task management system can at least include an ITM management system. Web page development specifications can be understood as the guidelines and requirements that need to be followed when designing and developing web pages, and web page development specifications can be used to ensure the quality, maintainability and performance of web pages. In the actual operation process, the web page development specifications can at least include the Request For Comments (RFC) specification and the Hypertext Markup Language 5 (HTML5) specification.

[0042] In an embodiment, when an object release operation is received, the file information corresponding to the object to be transferred can be uploaded to the task management system. In the actual operation process, when the object release operation is performed, the file operation object in the target drag function and the task management system follow the same web page development specification. Since the file information of the object to be transferred obtained in the local file path can be directly recognized by the task management system, the automatic upload of the file information corresponding to the object to be transferred is completed.

[0043] In the embodiment of the present invention, in response to a received object drag operation, a target memory address of a target drag function is obtained from a pre-loaded target dynamic link library through a pre-configured address extraction function, a target drag function corresponding to the target memory address is called to automatically store the object to be transmitted in a local file path, and then the local file path corresponding to the object to be transmitted is accessed through the target drag function, and the file information of the object to be transmitted is obtained from the local file path, so that the file information of the object to be transmitted is automatically obtained, and there is no need to manually search for the local file path corresponding to the object to be transmitted step by step and manually extract the file information of the object to be transmitted, thereby improving the convenience of object transmission; in response to a received object release operation, the file information corresponding to the object to be transmitted is uploaded to the task management system, so that the object to be transmitted is uploaded in the task management system in a one-click manner; and, the file operation object in the target drag function and the task management system follow the same web page development specification, so that the task management system automatically recognizes the object to be transmitted; at the same time, the user performs the object drag operation and the object release operation, so that the user can complete various operations more efficiently and conveniently, simplifying the user's operation steps during the object transmission process and improving the user's use experience.

[0044] In one embodiment, before responding to the received object drag operation, the method further includes:

[0045] Obtaining the memory address of the original drag function in the initial dynamic link library through a pre-configured address extraction function as the first memory address;

[0046] Preconfigure the memory address of the target drag function as the second memory address;

[0047] The first memory address in the preconfigured import address table is replaced with the second memory address to obtain an updated target dynamic link library.

[0048] Among them, the initial dynamic link library can be understood as a pre-configured link library that stores the memory address of specific functions. The specific function can include the target drag function and the original drag function. The memory address of the original drag function can be extracted from the original dynamic link library. At the same time, as the memory address of the original drag function, i.e., the first memory address, is replaced and updated, the initial dynamic link library can be updated to obtain the target dynamic link library. The original drag function can be understood as a function that needs to be replaced. In the actual operation process, the original drag function can be a function used to perform an object drag operation, and the original drag function can be used to point to the function to be transferred. The first memory address is the memory address of the original drag function; the second memory address is the memory address of the target drag function. In the actual operation process, the first memory address and the second memory address can both be addresses dynamically allocated by the operating system during the program running process. Among them, the second memory address is the target memory address. The Import Address Table (IAT) is an important structure in a Portable Executable (PE) file, which is used to record the function addresses in the Dynamic Link Library (DLL) file being used. During the running process, the memory addresses of the functions called in the DDL can be written into the IAT one by one, so as to associate the instructions for calling the function with the memory address. A portable executable file refers to a common file format for executable files and dynamic link library files (DLL) used in an operating system, which can reduce the use of memory and disk space, and facilitate function updates and maintenance. The file structure of a portable executable file can include a DOS header, a PE header, a section table, and sections.

[0049] In an embodiment, before responding to a received object drag operation, the memory address of the original drag function and the memory address of the target drag function can be extracted in the initial dynamic link library through a pre-configured address extraction function, and the memory address of the original drag function is used as the first memory address, and the memory address of the target drag function is used as the second memory address. Then, the first memory address in the import address table is replaced with the second memory address to obtain an updated target dynamic link library. In other words, the memory address of the original drag function can be found, and the memory address of the target drag function can be replaced with the memory address of the original drag function to achieve the replacement of the memory address, and the one-click drag replacement of the memory address of the original drag function can be achieved without changing other memory addresses, thereby improving the efficiency of memory address conversion.

[0050] In one embodiment, the return value type, input parameter type, and output parameter type of the target drag function are consistent with the return value type, input parameter type, and output parameter type of the original drag function.

[0051] Among them, the return value type refers to the data type of the value returned by the function after execution. For example, the return value type may include string type, structure type, character type, etc.; the input parameter type refers to the data type of the parameter passed to the function for executing its function in the function definition. For example, the input parameter type may include integer type, floating point type, array type, etc.; the output parameter type refers to the data type of the output parameter of the function after execution. For example, the output parameter type may include character type, floating point type, array type, etc. For example, the return value of the target drag function may include at least S_OK success, DRAGDROP_S_DROP drag operation success, DRAGDROP_S_CANCEL drag operation cancellation, and E_UNSPEC unexpected exception, etc.

[0052] In an embodiment, the return value type, input parameter type and output parameter type of the target drag function are consistent with the return value type, input parameter type and output parameter type of the original drag function, which can ensure the normal execution of the target drag function and avoid the memory address of the object transfer function changing in the import address table due to inconsistencies in the return value type, input parameter type and output parameter type, thereby affecting the execution of the target drag function.

[0053] In one embodiment, the target drag function constitutes an Outlook plug-in and is installed in the Outlook client.

[0054] Among them, Outlook plug-ins refer to small program modules that add additional functions to Outlook or enhance existing functions.

[0055] In an embodiment, the target drag function can be encapsulated to obtain an Outlook plug-in, and the Outlook plug-in can be installed in the Outlook client. At this time, when an object drag operation occurs, the Outlook client can execute the target drag function to achieve one-click drag and drop of the object to be transferred, that is, the file information corresponding to the object to be transferred can be uploaded to the task management system.

[0056] In one embodiment, before accessing the local file path corresponding to the object to be transferred through the target drag function, the method further includes:

[0057] Convert the local file path into a data structure that matches the file operation object and assign it to the file operation object;

[0058] Assign the file operation object in the form of a data structure to the file access variable in the target drag function.

[0059] The data structure refers to a way of combining different types of data to organize, manage and store data more efficiently. The file access variable can be understood as a variable used to perform the function of accessing the local file path of the object to be transferred. The file access variable can point to the file operation object; the file operation object can be understood as an entity of a specific object or class used to process file-related operations. The file operation object can point to the local file path.

[0060] In an embodiment, the local file path can be packaged as a data structure and matched with a file operation object, the data structure is assigned to the file operation object, and then the file operation object is assigned to the file access variable in the target drag function in the form of a data structure. Generally speaking, it is possible to first define a data structure that converts the local file path to match the file operation object, assign the file operation object to the data structure, and then define a data structure that converts the file operation object to the data structure, and assign the file access variable to the data structure. In other words, when the file access variable in the target drag function is called, it can point to the file operation object, and the file operation object points to the local file path. When the file access variable of the target drag function is called, the local file path can be directly accessed, and the file information of the object to be transmitted in the local file path can be called. There is no need to manually open the local directory level by level to search for the file information of the object to be transmitted, which reduces the complexity of searching for the file information of the object to be transmitted and improves the efficiency of object transmission.

[0061] In one embodiment, Figure 2 This is a flowchart of another object transmission method provided by an embodiment of the present invention. This embodiment is based on the above embodiment and further describes the specific method of automatically storing the object to be transmitted to the local file path through the target drag function, and the specific method of accessing the local file path corresponding to the object to be transmitted through the target drag function. Figure 2 As shown, the method includes:

[0062] S210 . In response to a received object drag operation, obtain a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function.

[0063] S220 , obtaining file information of the object to be transferred through a file extraction variable in a pre-created target drag function.

[0064] The file extraction variable can be understood as a variable for executing the function of extracting file information of the object to be transferred, and the file extraction variable can point to the object to be transferred. Exemplarily, the file extraction variable can be a variable pointing to the object to be transferred, for example, the file extraction variable can be pDropSource.

[0065] In an embodiment, in response to a received object drag operation, a file extraction variable in a target drag function may be called, and file information of the object to be transferred may be extracted through the file extraction variable. In an actual operation, the file extraction variable may point to a data retrieval interface of the object to be transferred, and data such as the object subject and object content of the object to be transferred may be extracted as file information according to the retrieval interface, and the file extraction variable may obtain the file information of the object to be transferred retrieved by the data retrieval interface.

[0066] S230: Automatically store the file information of the object to be transferred to the local file path.

[0067] In an embodiment, the local file path of the object to be transferred can be determined by the file extraction variable in the target drag function, and the file information of the object to be transferred can be automatically stored in the local file path. In the actual operation process, the target drag function can extract the file information of the object to be transferred, create a local file path corresponding to the object to be transferred, read the local file path, and automatically store the file information of the object to be transferred in the local file path.

[0068] S240. Access the local file path of the object to be transferred through the file operation object pointed to by the file access variable in the target drag function; wherein the file operation object points to the local file path of the object to be transferred.

[0069] Among them, the file access variable can be understood as a variable used to execute the function of accessing the local file path of the object to be transferred. The file access variable can point to the local file path or the file operation object. Exemplarily, the file access variable can be a variable that calls the file operation object, such as pDataObj.

[0070] In the embodiment, since the file operation object points to the local file path of the object to be transmitted, the local file path of the object to be transmitted can be obtained by accessing the file operation object. At this time, the local file path of the object to be transmitted can be directly accessed through the file operation object pointed to by the file access variable in the target drag function.

[0071] S250: Obtain file information of the object to be transferred from the local file path.

[0072] S260. In response to the received object release operation, upload the file information corresponding to the object to be transferred to the task management system.

[0073] In the embodiment of the present invention, the file information of the object to be transmitted is obtained through the file extraction variable in the pre-created target drag function, and the file information of the object to be transmitted is automatically stored in the local file path. Only then can the file information of the object to be transmitted be automatically saved, and the local file path of the object to be transmitted is accessed through the file operation object pointed to by the file access variable in the target drag function, so that the file information of the object to be transmitted can be automatically obtained, simplifying the user's operation steps during the object transmission process.

[0074] In one embodiment, Figure 3 This is a flowchart of another object transmission method provided by an embodiment of the present invention. This embodiment is based on the above embodiment, takes MyDoDragDrop as the target drag function, pDropSource as the file extraction variable in the target drag function, pDataObj as the file access variable in the target drag function, the created CFile object as the file operation object, GetProcAddress as the address extraction function, DoDragDrop function as the original drag function, email as the object to be transmitted, and the browser as the task management system as an example, to further illustrate an object transmission method. Figure 3 As shown, the method includes:

[0075] Install the Outlook plug-in in the Outlook server, and replace the memory address of the original drag function DoDragDrop with the memory address of the target drag function MyDoDragDrop in the Outlook plug-in. When the user presses the left mouse button (performs the object drag operation), the target drag function MyDoDragDrop can be executed to obtain the email title and email content of the email as file information, and automatically save the email file information to the local file path corresponding to the email. When the user releases the left mouse button (performs the object release operation), the file information saved in the local file path is uploaded to the browser.

[0076] The format requirements of the target drag function are as follows: the return value (HRESULT type), input parameter type, and output parameter type of the custom function must be consistent with the original drag function DoDragDrop function in the Windows system. In order to find the memory address of the original DoDragDrop function and avoid the memory address of the target drag function from changing in the import address table, the return value, input parameter type, and output parameter type of the target drag function must be consistent with those of the original drag function. For example, if the size of the return value of the target drag function and the number of bytes occupied by the name are inconsistent with those of the original drag function, the memory address occupied by the original drag function in the import address table will change, affecting other functions. HRESULT is the return value type in Windows programming, and its values ​​include: S_OK success, DRAGDROP_S_DROP drag operation success, DRAGDROP_S_CANCEL drag operation cancellation, and E_UNSPEC unexpected exception.

[0077] The target drag function is a custom function, in which MyDoDragDrop is the name of the target drag function and HRESULT is the return value type of the target drag function; LPDATAOBJECT is a pointer type, pDataObj (file access variable) points to an object containing data such as the local file path; LPDROPSOURCE is a pointer type, pDropSource (file extraction variable) points to the dragged object to be transferred, and can obtain information such as the email subject and email content of the dragged email; DWORD is an integer type, dwOKEffects can indicate the scope of influence of the drag action, such as whether to delete the object to be transferred; LPWORD is a pointer to an integer type, pdwEffec can indicate the actual impact of this drag action on the object to be transferred after the drag is successful.

[0078] In one embodiment, the execution logic of the target drag function MyDoDragDrop includes: downloading the email to the local disk, and packaging the email in the local file path into a new structure (ie, CFile object) to replace the structure in the original drag and drop event (the event executed by the original drag function DoDragDrop).

[0079] Downloading the email to the local disk includes: obtaining the file information of the dragged object (email) through the file extraction variable pDropSource in the target drag function MyDoDragDrop, including the title and content of the email, etc. Creating a new file in the specified directory of the local disk and writing the file information can save the email locally.

[0080] Package the email in the local file path into a new structure (i.e. CFile object) to replace the structure in the original drag and drop event (the event executed by the original drag function DoDragDrop). The specific process is as follows: HGLOBAL and CFile are both file handles of the Windows system. However, unlike the original HGLOBAL, CFile is a type that can be recognized by the browser. The original input parameter pDataObj (file access variable) is a handle pointing to the original type HGLOBAL, and the content cannot be recognized by the browser. You can use the CFile constructor to create a new CFile object (file operation object) pointing to the local file path saved in the previous step, and let pDataObj (file access variable) point to the new CFile (file operation object. Therefore, in MyDoDragDrop (target drag function), the drag object is replaced with the email in the local disk, and when the mouse is released, the content pointed to by pDataObj (file access variable) can be guaranteed to be recognized by the browser.

[0081] In the actual operation process, in response to the object drag operation, a pDataObj (file access variable) is created. When the mouse is released (object release operation), pDataObj (file access variable) disappears. The local file path is assigned to the newly created CFile object (target drag function), and the CFile object (target drag function) is assigned to pDataObj (file access variable). At this time, pDataObj (file access variable) can point to the local file path.

[0082] At the same time, you need to find the memory address of the original DoDragDrop function (original drag function) of Outlook, and overwrite the memory address of MyDoDragDrop (target drag function) with the DoDragDrop function (original drag function). Specifically, you can use GetProcAddress (address extraction function) in Windows to get the import address table of the DoDragDrop function (original drag function) and put the DoDragDrop function (original drag function) into the method GetProcAddress (address extraction function) to get the memory address of the DoDragDrop function (original drag function), and then modify the memory address of the DoDragDrop function (original drag function) to the memory address of MyDoDragDrop (target drag function). At this time, you can get the corresponding portable executable file and update the target dynamic link library.

[0083] By default, when an object drag operation occurs in Outlook, DoDragDrop (the original drag function) is executed. Through the above steps, DoDragDrop (the original drag function) is replaced. Therefore, when an object drag operation occurs, MyDoDragDrop (the target drag function) will be executed instead.

[0084] The target drag and drop function and the portable executable file can be combined into an Outlook plug-in and installed in the Outlook client to implement one-click drag and drop of emails to the ITM management system web terminal.

[0085] In one embodiment, Figure 4 Schematic diagram of the structure of an object transmission device provided by an embodiment of the present invention. Figure 4 As shown, the device includes: an address acquisition module 41, an object storage module 42, an information acquisition module 43 and an object upload module 44.

[0086] The address acquisition module 41 is used to obtain the target memory address of the target drag function from the pre-loaded target dynamic link library through a pre-configured address extraction function in response to the received object drag operation.

[0087] The object storage module 42 is used to call the target drag function corresponding to the target memory address to automatically store the object to be transferred to the local file path.

[0088] The information acquisition module 43 is used to access the local file path corresponding to the object to be transmitted through the target drag function, and obtain the file information of the object to be transmitted from the local file path.

[0089] The object uploading module 44 is used to upload the file information corresponding to the object to be transferred to the task management system in response to the received object release operation; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

[0090] In the embodiment of the present invention, in response to a received object drag operation, an object storage module obtains a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function, an information acquisition module calls a target drag function corresponding to the target memory address to automatically store the object to be transmitted in a local file path, the information acquisition module accesses the local file path corresponding to the object to be transmitted through the target drag function, and obtains file information of the object to be transmitted from the local file path, thereby realizing automatic acquisition of file information of the object to be transmitted, without manually searching for the local file path corresponding to the object to be transmitted step by step and manually extracting file information of the object to be transmitted, thereby improving the convenience of object transmission; in response to a received object release operation, an object upload module uploads file information corresponding to the object to be transmitted to a task management system, thereby realizing one-click uploading of the object to be transmitted in the task management system; and, by following the same web page development specification as the file operation object in the target drag function and the task management system, the task management system realizes automatic recognition of the object to be transmitted; and, when a user performs an object drag operation and an object release operation, the user can complete various operations more efficiently and conveniently, thereby simplifying the user's operation steps during the object transmission process and improving the user's use experience.

[0091] In one embodiment, the object storage module 42 includes:

[0092] A file information acquisition unit, used to acquire file information of the object to be transferred through a file extraction variable in a pre-created target drag function;

[0093] The file information storage unit is used to automatically store the file information of the object to be transmitted to the local file path.

[0094] In one embodiment, the information acquisition module 43 includes:

[0095] The information acquisition unit is used to access the local file path of the object to be transferred through the file operation object pointed to by the file access variable in the target drag function; wherein the file operation object points to the local file path of the object to be transferred.

[0096] In one embodiment, the object transmission device further includes:

[0097] A first address determination module, used to obtain the memory address of the original drag function in the initial dynamic link library through a pre-configured address extraction function as the first memory address;

[0098] A second address determination module, used for pre-configuring the memory address of the target drag function as the second memory address;

[0099] The file acquisition module is used to replace the first memory address in the pre-configured import address table with the second memory address to obtain an updated target dynamic link library.

[0100] In one embodiment, the target drag function in the object transmission device constitutes an Outlook plug-in and is installed in the Outlook client.

[0101] In one embodiment, the object transmission device further includes:

[0102] A path conversion module is used to convert a local file path into a data structure that matches a file operation object and assign it to the file operation object;

[0103] The structure assignment module is used to assign the local file path in the form of a data structure to the file access variable in the target drag function.

[0104] In one embodiment, the file information of the object to be transmitted in the object transmission device includes at least one of the following: object subject and object content.

[0105] The object transmission device provided in the embodiment of the present invention can execute the object transmission method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.

[0106] In one embodiment, Figure 5 is a structural block diagram of an electronic device of an object transmission method provided by an embodiment of the present invention, such as Figure 5 As shown, a schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can 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.

[0107] like Figure 5As 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, ROM 12 and 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.

[0108] 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.

[0109] 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 the object transmission method.

[0110] In some embodiments, the object transmission method may 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 may 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 object transmission method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the object transmission method in any other appropriate manner (e.g., by means of firmware).

[0111] 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.

[0112] 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.

[0113] 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.

[0114] 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).

[0115] 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.

[0116] 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.

[0117] An embodiment of the present invention further provides a computer program product, including a computer program, which, when executed by a processor, implements the object transmission method provided in any embodiment of the present application.

[0118] In the process of implementation, the computer program product can be written in one or more programming languages ​​or a combination thereof to perform the computer program code of the present invention, including object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (for example, using an Internet service provider to connect through the Internet).

[0119] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. An object transmission method, characterized in that: Applicable to Outlook clients, including: In response to the received object drag operation, obtaining a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function; Calling the target drag function corresponding to the target memory address to automatically store the object to be transferred to the local file path; Accessing the local file path corresponding to the object to be transmitted through the target drag function, and acquiring the file information of the object to be transmitted from the local file path; In response to the received object release operation, the file information corresponding to the object to be transferred is uploaded to the task management system; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

2. The method according to claim 1, characterized in that The calling of the target drag function corresponding to the target memory address to automatically store the object to be transferred to the local file path includes: Obtain the file information of the object to be transferred through the file extraction variable in the pre-created target drag function; The file information of the object to be transferred is automatically stored in the local file path.

3. The method according to claim 1, characterized in that The accessing the local file path corresponding to the object to be transferred through the target drag function includes: The local file path of the object to be transmitted is accessed through the file operation object pointed to by the file access variable in the target drag function; wherein the file operation object points to the local file path of the object to be transmitted.

4. The method according to claim 1, characterized in that: Before responding to the received object drag operation, the method further includes: Obtaining the memory address of the original drag function in the dynamic link library through a pre-configured address extraction function as the first memory address; Preconfigure the memory address of the target drag function as the second memory address; The first memory address in the preconfigured import address table is replaced with the second memory address to obtain an updated target dynamic link library.

5. The method according to claim 4, characterized in that The return value type, input parameter type and output parameter type of the target drag function are consistent with the return value type, input parameter type and output parameter type of the original drag function.

6. The method according to claim 1, characterized in that The target drag function constitutes an Outlook plug-in and is installed in the Outlook client.

7. The method according to claim 1, characterized in that Before accessing the local file path corresponding to the object to be transferred through the target drag function, the method further includes: Convert the local file path into a data structure that matches the file operation object, and assign it to the file operation object; The file operation object is assigned to the file access variable in the target drag function in the form of the data structure.

8. The method according to any one of claims 1 to 6, characterized in that: The file information of the object to be transmitted includes at least one of the following: object subject and object content.

9. An object transmission device, characterized in that: Applicable to Outlook clients, including: An address acquisition module, for obtaining a target memory address of a target drag function from a preloaded target dynamic link library through a preconfigured address extraction function in response to a received object drag operation; An object storage module, used to call the target drag function corresponding to the target memory address to automatically store the object to be transferred to a local file path; An information acquisition module, used to access the local file path corresponding to the object to be transmitted through the target drag function, and obtain the file information of the object to be transmitted from the local file path; The object uploading module is used to upload the file information corresponding to the object to be transferred to the task management system in response to the received object release operation; wherein the file operation object in the target drag function and the task management system follow the same web page development specification.

10. The device according to claim 9, characterized in that The object storage module includes: A file information acquisition unit, used to acquire file information of the object to be transferred through a file extraction variable in a pre-created target drag function; The file information storage unit is used to automatically store the file information of the object to be transmitted to a local file path.

11. The device according to claim 9, characterized in that The object transmission device further includes: A first address determination module, used to obtain the memory address of the original drag function in the initial dynamic link library through a pre-configured address extraction function as the first memory address; A second address determination module, used for pre-configuring the memory address of the target drag function as the second memory address; The file acquisition module is used to replace the first memory address in the pre-configured import address table with the second memory address to obtain an updated target dynamic link library.

12. The device according to claim 9, characterized in that The object transmission device further includes: A path conversion module, used for converting the local file path into a data structure matching a file operation object, and assigning the data structure to the file operation object; The structure assignment module is used to assign the local file path to the file access variable in the target drag function in the form of the data structure.

13. An electronic device, characterized in that: The invention comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the object transmission method according to any one of claims 1 to 8 is implemented.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the object transmission method as described in any one of claims 1 to 8 is implemented.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the computer program implements the object transmission method according to any one of claims 1 to 8.