CN117348965B - 基于桌面窗体应用程序的多窗体管理方法及装置 - Google Patents

基于桌面窗体应用程序的多窗体管理方法及装置 Download PDF

Info

Publication number
CN117348965B
CN117348965B CN202311657474.9A CN202311657474A CN117348965B CN 117348965 B CN117348965 B CN 117348965B CN 202311657474 A CN202311657474 A CN 202311657474A CN 117348965 B CN117348965 B CN 117348965B
Authority
CN
China
Prior art keywords
client
user
user name
window
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311657474.9A
Other languages
English (en)
Other versions
CN117348965A (zh
Inventor
郑立敏
郭相成
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Resource Huiying Network Technology Co ltd
Original Assignee
Beijing Resource Huiying Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Resource Huiying Network Technology Co ltd filed Critical Beijing Resource Huiying Network Technology Co ltd
Priority to CN202311657474.9A priority Critical patent/CN117348965B/zh
Publication of CN117348965A publication Critical patent/CN117348965A/zh
Application granted granted Critical
Publication of CN117348965B publication Critical patent/CN117348965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种基于桌面窗体应用程序的多窗体管理方法及装置,涉及应用程序管理技术领域,通过响应用户在主界面的工具栏区选择的加载命令,根据加载命令添加桌面窗体应用程序客户端;将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在主界面的客户端列表区显示;响应用户在主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;根据客户端句柄列表创建Panel控件,并将Panel控件填充到主界面的客户端窗体展示区进行显示。本申请能够统一管理多款桌面窗口应用程序,减少用户在不同窗口间切换的次数,减轻工作强度,提高工作效率。

Description

基于桌面窗体应用程序的多窗体管理方法及装置
技术领域
本申请涉及应用程序管理技术领域,具体涉及一种基于桌面窗体应用程序的多窗体管理方法及装置。
背景技术
随着互联网技术的快速发展,个人电脑(PC)在人们的日常生活和工作中扮演着越来越重要的角色。个人电脑不仅用于办公工作,还被广泛用于娱乐、学习和社交等方面。随之而来的是安装在PC上的桌面窗体应用程序的数量不断增加,这包括办公软件、图像处理工具、视频编辑软件以及游戏等。为了更好地管理这些桌面窗体应用程序,开发一款专门的管理软件变得尤为重要。
尤其是当用户需要同时运行多个同一款桌面窗体应用程序时,频繁地在不同的窗口之间切换不仅操作繁琐,而且还会降低工作效率。如果可以通过一款软件统一管理这些窗口,将极大的提高工作效率。
发明内容
为此,本申请提供一种基于桌面窗体应用程序的多窗体管理方法及装置,以解决现有技术存在的当用户需要同时运行多个同一款桌面窗体应用程序时,需要频繁地在不同的窗口之间切换的问题。
为了实现上述目的,本申请提供如下技术方案:
第一方面,一种基于桌面窗体应用程序的多窗体管理方法,包括:
步骤1:接收用户输入的用户名及密码,根据所述用户名及密码验证用户权限并显示主界面;
步骤2:响应用户在所述主界面的工具栏区选择的加载命令,根据所述加载命令添加桌面窗体应用程序客户端;
步骤3:将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在所述主界面的客户端列表区显示;
步骤4:响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;
步骤5:根据所述客户端句柄列表创建Panel控件,并将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
作为优选,所述步骤1具体为:
步骤101:接收用户输入的用户名及密码,将所述用户名及密码加密后发送至Api地址;所述Api地址接收到所述用户名及密码后进行解密,并将解密后的所述用户名及密码转化为JSON格式数据进行解析;将解析后的所述用户名及密码发送至数据库,并检索所述用户名及密码是否存在,若存在,则返回用户名及用户权限;
步骤102:接收所述Api地址返回的所述用户名及用户权限,将所述用户名及用户权限保存至内存中,并隐藏登录窗体,显示主界面。
作为优选,所述步骤2具体为:
步骤201:响应用户在所述主界面的工具栏区选择的加载命令;
步骤202:根据所述加载命令弹出OpenFileDialog对话框;
步骤203:通过所述对话框获取用户需要添加的桌面窗体应用程序客户端的exe文件信息;
步骤204:将所述exe文件信息和用户名加密后发送至所述Api地址;所述Api地址接收到所述exe文件信息和用户名后进行解密,并将解密后的所述exe文件信息和用户名转化为JSON格式数据进行解析;将解析后的所述exe文件信息和用户名发送至数据库进行保存,并返回保存成功信息。
作为优选,所述步骤3具体为:
步骤301:获取用户名及用户权限,将所述用户名及用户权限加密后发送至所述Api地址;所述Api地址接收到所述用户名及用户权限进行解密,并将解密后的所述用户名及用户权限转化为JSON格式数据进行解析;将解析后的所述用户名及用户权限发送至数据库,并检索所述用户名及用户权限是否存在,若存在,则返回设备属性数据;
步骤302:接收所述Api地址返回的设备属性数据,将所述设备属性数据绑定至TreeView控件,并在所述主界面的客户端列表区显示。
作为优选,所述步骤4具体为:
步骤401:响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端;
步骤402:获取选中的桌面窗体应用程序客户端的客户端信息;所述客户端信息包括客户端名称和客户端地址;
步骤403:将所述客户端名称和所述客户端地址保存为字典键值对;
步骤404:通过循环所述字典键值对获取客户端地址,并启动客户端,获取客户端窗体句柄;
步骤405:根据客户端窗体句柄获取客户端句柄列表;所述客户端句柄列表包括客户端名称和客户端窗体句柄。
作为优选,所述步骤5具体为:
步骤501:根据所述客户端句柄列表创建Panel控件;
步骤502:将所述Panel控件和客户端窗体句柄保存为字典键值对;
步骤503:循环所述字典键值对,将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
作为优选,还包括:
响应用户在所述主界面的客户端窗体展示区选择的某一客户端放大命令,根据所述放大命令获取客户端窗体句柄,并弹出放大后的窗体界面;
根据所述客户端窗体句柄将客户端显示内容转移至放大后的窗体界面。
第二方面,一种基于桌面窗体应用程序的多窗体管理装置,包括:
登录模块,用于接收用户输入的用户名及密码,根据所述用户名及密码验证用户权限并显示主界面;
应用程序添加模块,用于响应用户在所述主界面的工具栏区选择的加载命令,根据所述加载命令添加桌面窗体应用程序客户端;
应用程序列表显示模块,用于将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在所述主界面的客户端列表区显示;
应用程序运行模块,用于响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;
应用程序窗体显示模块,根据所述客户端句柄列表创建Panel控件,并将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于桌面窗体应用程序的多窗体管理方法的步骤。
第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于桌面窗体应用程序的多窗体管理方法的步骤。
相比现有技术,本申请至少具有以下有益效果:
本申请提供了一种基于桌面窗体应用程序的多窗体管理方法及装置,通过接收用户输入的用户名及密码,根据用户名及密码验证用户权限并显示主界面;
响应用户在主界面的工具栏区选择的加载命令,根据加载命令添加桌面窗体应用程序客户端;将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在主界面的客户端列表区显示;响应用户在主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;根据客户端句柄列表创建Panel控件,并将Panel控件填充到主界面的客户端窗体展示区进行显示。本申请提供的基于桌面窗体应用程序的多窗体管理方法及装置,能够统一管理多款桌面窗口应用程序,减少用户在不同窗口间切换的次数,减轻工作强度,提高工作效率。
附图说明
为了更直观地说明现有技术以及本申请,下面给出示例性的附图。应当理解,附图中所示的具体形状、构造,通常不应视为实现本申请时的限定条件;例如,本领域技术人员基于本申请揭示的技术构思和示例性的附图,有能力对某些单元(部件)的增/减/归属划分、具体形状、位置关系、连接方式、尺寸比例关系等容易作出常规的调整或进一步的优化。
图1为本申请实施例一提供的一种基于桌面窗体应用程序的多窗体管理方法(软件执行)流程图;
图2为本申请实施例一提供的一种基于桌面窗体应用程序的多窗体管理方法(用户执行)流程图;
图3为本申请实施例一提供的用户加载多个桌面客户端后显示窗体的界面示意图;
图4为本申请实施例一提供的某一个窗体进行放大操作后显示的界面示意图。
具体实施方式
以下结合附图,通过具体实施例对本申请作进一步详述。
在本申请的描述中:除非另有说明,“多个”的含义是两个或两个以上。本申请中的术语“第一”、“第二”、“第三”等旨在区别指代的对象,而不具有技术内涵方面的特别意义(例如,不应理解为对重要程度或次序等的强调)。“包括”、“包含”、“具有”等表述方式,同时还意味着“不限于”(某些单元、部件、材料、步骤等)。
本申请中所引用的如“上”、“下”、“左”、“右”、“中间”等的用语,通常是为了便于对照附图直观理解而就大体的相对位置关系所作的指示,并非对实际产品中位置关系的绝对限定。
实施例一
请参阅图1,本实施例提供了一种基于桌面窗体应用程序的多窗体管理方法,包括:
S1:接收用户输入的用户名及密码,根据用户名及密码验证用户权限并显示主界面;
具体为:
S101:接收用户输入的用户名及密码,将用户名及密码加密后发送至Api地址;Api地址接收到用户名及密码后进行解密,并将解密后的用户名及密码转化为JSON格式数据进行解析;将解析后的用户名及密码发送至数据库,并检索用户名及密码是否存在,若存在,则返回用户名及用户权限;
更具体的,当用户输入用户名及密码点击登录后,软件会执行“UserLogin”方法,如果用户名或者密码为空,则提示“用户名或密码不能为空!”,如果不为空,则将用户名和密码通过RSA加密算法加密后发送至Api地址:http://域名/Api/Account/UserLogin;Api地址接收到发送的用户名和密码后,首先会采用RSA解密算法解密用户名和密码,如果解密失败,则提示“数据为非法数据!”,如果解密成功,则将用户名和密码转化为JSON格式数据并进行解析,解析后执行“AccountExists”方法将用户名及密码发送至数据库,并通过执行存储过程“sp_SelectAccountExists”检索用户名及密码是否存在,如果检索失败,则提示“用户名及密码错误!”,如果检索成功,则返回用户名及用户权限。
S102:接收Api地址返回的用户名及用户权限,将用户名及用户权限保存至内存中,并隐藏登录窗体,显示主界面。
更具体的,软件通过执行“SaveUserRoleInfo”方法将用户名及用户权限保存至内存中,供其他功能模块使用,然后登录窗体隐藏,主界面显示,用户登录成功。
S2:响应用户在主界面的工具栏区选择的加载命令,根据加载命令添加桌面窗体应用程序客户端;
具体为:
S201:响应用户在主界面的工具栏区选择的加载命令;
更具体的,请参阅图2,用户登录成功后,主界面顶部工具栏区会调用工具栏控件并加载,其中包含“加载”按钮。主界面左侧“客户端列表区”暂无数据时,用户可以点击主界面顶部工具栏中的“加载”按钮添加桌面应用程序。
S202:根据加载命令弹出OpenFileDialog对话框;
更具体的,当用户点击“加载”按钮时,客户端弹出OpenFileDialog对话框,用户打开要添加的桌面应用程序所在的磁盘文件夹,并选择exe文件。
S203:通过对话框获取用户需要添加的桌面窗体应用程序客户端的exe文件信息;
更具体的,用户选择exe文件后,软件将获取exe所在的磁盘路径、exe名称等exe文件信息。
S204:将exe文件信息和用户名加密后发送至Api地址;Api地址接收到exe文件信息和用户名后进行解密,并将解密后的exe文件信息和用户名转化为JSON格式数据进行解析;将解析后的exe文件信息和用户名发送至数据库进行保存,并返回保存成功信息。
更具体的,软件获取exe文件信息后,如果exe文件信息有误则提示“此文件信息不可用!”,如果信息无误,则调用“SaveSoftwareAppInfo”方法,将exe文件信息及当前用户名通过RSA加密算法加密后发送至Api地址:http://域名/Api/Software/SaveAppInfo,Api地址接收到发送的exe文件信息和用户名后,首先会采用RSA解密算法解密exe文件信息和用户名,如果解密失败,则提示“数据为非法数据!”,如果解密成功,则将exe文件信息和用户名转化为JSON格式数据并解析,解析后执行“AddSoftwareAppInfo”方法将文件名、文件路径、用户名等exe文件信息和用户名发送至数据库,并通过执行存储过程“sp_InsertSoftwareAppInfo”添加到数据库,如果添加数据失败,则提示“保存App信息失败,请重试!”,如果保存成功,则提示“保存App信息成功!”,并返回保存成功信息,保存成功表示桌面应用程序添加成功。
S3:将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在主界面的客户端列表区显示;
具体为:
S301:获取用户名及用户权限,将用户名及用户权限加密后发送至Api地址;Api地址接收到用户名及用户权限进行解密,并将解密后的用户名及用户权限转化为JSON格式数据进行解析;将解析后的用户名及用户权限发送至数据库,并检索用户名及用户权限是否存在,若存在,则返回设备属性数据;
更具体的,用户添加桌面应用程序成功后,软件通过执行“GetUserRoleInfo”获取当前的用户名及用户权限,如果用户名或用户权限不存在,则提示“请重新登录!”,并弹出登录界面,提醒用户重新登录;如果用户名及用户权限存在,则根据用户名及用户权限执行“GetAppTreeView”方法,此方法会将用户名及用户权限通过RSA加密算法加密后发送至Api地址:http://域名/Api/Software/GetAppList,Api地址接收到发送的用户名及用户权限后,首先会采用RSA解密算法解密用户名及用户权限,如果解密失败,则提示“数据为非法数据!”,如果解密成功,则将用户名及用户权限转化为JSON格式数据并解析,解析后通过执行“GetSoftwareAppList”方法将用户名及用户权限发送至数据库,并通过执行存储过程“sp_SelectSoftwareAppList”检索用户名及用户权限,如果检索用户名及用户权限不存在,则提示“暂无App列表,请添加!”,如果检索成功,则返回包含设备名称、设备路径等设备属性的JSON格式的数据。
S302:接收Api地址返回的设备属性数据,将设备属性数据绑定至TreeView控件,并在主界面的客户端列表区显示。
更具体的,请参阅图3,接收到Api地址返回的设备属性数据后,通过“BindAppTreeView”方法,将设备属性数据绑定至TreeView控件,并在主界面左侧“客户端列表区”显示,用户可以在“客户端列表区”选择并双击运行此程序,程序的显示窗体则会在“客户端窗体展示区”显示,当运行多个程序时,多个程序显示窗体会以平铺的方式在“客户端窗体展示区”展示显示。
S4:响应用户在主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;
具体为:
S401:响应用户在主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端;
更具体的,用户添加的桌面窗体应用程序客户端在主界面“客户端列表区”按照树状布局加载成功后,用户可以选中某一个或多个桌面窗体应用程序客户端点击“启动”按钮。
S402:获取选中的桌面窗体应用程序客户端的客户端信息;客户端信息包括客户端名称和客户端地址;
更具体的,软件会执行“GetCheckedAppList”获取选中的桌面窗体应用程序客户端的客户端信息,客户端信息包含客户端名称、客户端路径等。
S403:将客户端名称和客户端地址保存为字典键值对;
更具体的,如果获取客户端信息为空,则提示“请选择要启动的客户端!”。如果获取客户端信息不为空,则执行“CreateAppD”方法,将客户端名称和客户端地址保存为字典键值对格式,保证客户端名称和客户端地址一一对应。
S404:通过循环字典键值对获取客户端地址,并启动客户端,获取客户端窗体句柄;
更具体的,通过循环字典键值对,获取客户端地址,并通过执行“GetAppHandleInfo”方法启动客户端并获取客户端窗体句柄。
S405:根据客户端窗体句柄获取客户端句柄列表;客户端句柄列表包括客户端名称和客户端窗体句柄。
更具体的,如果客户端窗体句柄获取成功,则通过“GetAppHandleList”获取客户端句柄列表,此列表包含客户端名称及客户端窗体句柄。
S5:根据客户端句柄列表创建Panel控件,并将Panel控件填充到主界面的客户端窗体展示区进行显示。
具体为:
S501:根据客户端句柄列表创建Panel控件;
更具体的,当用户启动桌面窗体应用程序客户端并获取客户端句柄列表后,如果此列表不为空,则循环列表,根据列表中的客户端名称,执行“GetAppPanelInfo”方法创建Panel控件,此控件包含展示区(显示窗体界面)及工具栏(放大、关闭等)。
502:将Panel控件和客户端窗体句柄保存为字典键值对;
更具体的,Panel控件创建成功后,执行“CreateAppPanelDict”方法,将Panel控件与客户端窗体句柄保存为字典键值对格式,保证Panel控件与窗体句柄一一对应。
S503:循环字典键值对,将Panel控件填充到主界面的客户端窗体展示区进行显示。
更具体的,循环此字典键值对,通过“AppendAppPanel”方法将Panel控件填充到本主界面的“客户端窗体展示区”,当Panel控件填充成功后,执行“ControlEmbed”方法,将Panel对应的窗体句柄与Panel控件绑定用于显示已经启用的客户端窗体内容。客户端窗体在主界面列表显示后,用户可以同时查看多个启用的窗体内容,并可以针对某一个窗体点击Panel中的“放大”按钮,着重对此放大窗体操作。
本实施例提供的基于桌面窗体应用程序的多窗体管理方法,还包括用户在展示区操作窗体(包括查看、管理和通信等),具体为:
S6:响应用户在主界面的客户端窗体展示区选择的某一客户端放大命令,根据放大命令获取客户端窗体句柄,并弹出放大后的窗体界面;
更具体的,当用户点击主界面“客户端窗体展示区”中的某一个窗体的“放大”按钮时,软件会执行“GetCurrWindowInfo”方法获取当前窗体的句柄信息以及客户端名称信息,并通过执行“WindowZoom”方法弹出放大后的窗体界面。
S7:根据客户端窗体句柄将客户端显示内容转移至放大后的窗体界面。
更具体的,在窗体界面加载时会执行“ScreenZoom“方法,根据客户窗体句柄信息将客户端显示内容转移至此放大窗体的显示区域,放大窗体加载成功。
请参阅图4,当此放大窗体加载成功后,会执行“GetAppOperateInfo”方法,此方法会将当前客户端的名称以及当前登录的用户名通过RSA加密算法加密后发送至Api地址:http://域名/Api/Software/OperateInfo,Api地址接收到发送的数据后,首先会采用RSA解密算法解密数据,如果解密失败,则提示“数据为非法数据!”,如果解密成功,则将数据转化为JSON格式数据并解析,解析后执行“GetAppOperateInfo”方法将客户端名称及用户名发送至数据库,并通过执行存储过程“sp_SelectSoftwareOperateInfo”检索用户在此客户端的“快捷功能”信息,如果检索失败,则提示“暂未配置快捷功能!”,如果检索成功,则返回用户设定的“快捷功能”信息,并通过执行“CreateAppOperate”方法将“快捷功能”配置至本窗体“快捷功能”区域,供用户使用,此界面还提供通信指令功能,用户可以根据需要自定义操作。
当用户在“输入通信指令”区域输入内容,并点击“发送”按钮时,首先执行“CheckMessageInfo”方法,判断输入内容是否符合规定格式,如果不符合规定格式,则提示“此信息格式不正确!”,如果符合规定格式,则执行“SendMessageInfo”方法将指令内容发送至本机指定端口供客户端获取指令。
当用户不再使用时,只需要关闭主页面即可,主页面关闭后将执行“WindowClose”方法,此方法会清理本软件存储于内容或磁盘上的临时数据。
本实施例提供的基于桌面窗体应用程序的多窗体管理方法,用户可以事先将需要管理的桌面应用程序添加到本软件中,在使用桌面应用程序时,可以在本软件中打开,原桌面客户端软件的窗口会在本软件中显示。本软件可以按照平铺的方式加载显示多个程序窗口,并可以切换不同程序窗口,当需要操作某一个窗口时可以在平铺窗口的界面放大需要的窗口,并可以按照基于约定的通信方式给窗体发送指令。实现了统一管理多款桌面窗口应用程序,减少了用户在不同窗口间切换的次数,减轻了工作强度,提高了工作效率。
实施例二
本实施例提供了一种基于桌面窗体应用程序的多窗体管理装置,包括:
登录模块,用于接收用户输入的用户名及密码,根据所述用户名及密码验证用户权限并显示主界面;
应用程序添加模块,用于响应用户在所述主界面的工具栏区选择的加载命令,根据所述加载命令添加桌面窗体应用程序客户端;
应用程序列表显示模块,用于将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在所述主界面的客户端列表区显示;
应用程序运行模块,用于响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;
应用程序窗体显示模块,根据所述客户端句柄列表创建Panel控件,并将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
关于一种基于桌面窗体应用程序的多窗体管理装置中各个模块的具体实现内容可以参见上文中对于一种基于桌面窗体应用程序的多窗体管理方法的限定,在此不再赘述。
实施例三
本实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于桌面窗体应用程序的多窗体管理方法的步骤。
实施例四
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于桌面窗体应用程序的多窗体管理方法的步骤。
以上实施例的各技术特征可以进行任意的组合(只要这些技术特征的组合不存在矛盾),为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述;这些未明确写出的实施例,也都应当认为是本说明书记载的范围。

Claims (6)

1.一种基于桌面窗体应用程序的多窗体管理方法,其特征在于,包括:
步骤1:接收用户输入的用户名及密码,根据所述用户名及密码验证用户权限并显示主界面;
步骤2:响应用户在所述主界面的工具栏区选择的加载命令,根据所述加载命令添加桌面窗体应用程序客户端;
步骤3:将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在所述主界面的客户端列表区显示;
步骤4:响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;
步骤5:根据所述客户端句柄列表创建Panel控件,并将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示;
所述步骤1具体为:
步骤101:接收用户输入的用户名及密码,将所述用户名及密码加密后发送至Api地址;所述Api地址接收到所述用户名及密码后进行解密,并将解密后的所述用户名及密码转化为JSON格式数据进行解析;将解析后的所述用户名及密码发送至数据库,并检索所述用户名及密码是否存在,若存在,则返回用户名及用户权限;
步骤102:接收所述Api地址返回的所述用户名及用户权限,将所述用户名及用户权限保存至内存中,并隐藏登录窗体,显示主界面;
所述步骤2具体为:
步骤201:响应用户在所述主界面的工具栏区选择的加载命令;
步骤202:根据所述加载命令弹出OpenFileDialog对话框;
步骤203:通过所述对话框获取用户需要添加的桌面窗体应用程序客户端的exe文件信息;
步骤204:将所述exe文件信息和用户名加密后发送至所述Api地址;所述Api地址接收到所述exe文件信息和用户名后进行解密,并将解密后的所述exe文件信息和用户名转化为JSON格式数据进行解析;将解析后的所述exe文件信息和用户名发送至数据库进行保存,并返回保存成功信息;
所述步骤3具体为:
步骤301:获取用户名及用户权限,将所述用户名及用户权限加密后发送至所述Api地址;所述Api地址接收到所述用户名及用户权限进行解密,并将解密后的所述用户名及用户权限转化为JSON格式数据进行解析;将解析后的所述用户名及用户权限发送至数据库,并检索所述用户名及用户权限是否存在,若存在,则返回设备属性数据;
步骤302:接收所述Api地址返回的设备属性数据,将所述设备属性数据绑定至TreeView控件,并在所述主界面的客户端列表区显示;
所述步骤4具体为:
步骤401:响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端;
步骤402:获取选中的桌面窗体应用程序客户端的客户端信息;所述客户端信息包括客户端名称和客户端地址;
步骤403:将所述客户端名称和所述客户端地址保存为字典键值对;
步骤404:通过循环所述字典键值对获取客户端地址,并启动客户端,获取客户端窗体句柄;
步骤405:根据客户端窗体句柄获取客户端句柄列表;所述客户端句柄列表包括客户端名称和客户端窗体句柄。
2.根据权利要求1所述的基于桌面窗体应用程序的多窗体管理方法,其特征在于,所述步骤5具体为:
步骤501:根据所述客户端句柄列表创建Panel控件;
步骤502:将所述Panel控件和客户端窗体句柄保存为字典键值对;
步骤503:循环所述字典键值对,将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
3.根据权利要求1所述的基于桌面窗体应用程序的多窗体管理方法,其特征在于,还包括:
响应用户在所述主界面的客户端窗体展示区选择的某一客户端放大命令,根据所述放大命令获取客户端窗体句柄,并弹出放大后的窗体界面;
根据所述客户端窗体句柄将客户端显示内容转移至放大后的窗体界面。
4.一种基于桌面窗体应用程序的多窗体管理装置,其特征在于,包括:
登录模块,用于接收用户输入的用户名及密码,根据所述用户名及密码验证用户权限并显示主界面;具体为:接收用户输入的用户名及密码,将所述用户名及密码加密后发送至Api地址;所述Api地址接收到所述用户名及密码后进行解密,并将解密后的所述用户名及密码转化为JSON格式数据进行解析;将解析后的所述用户名及密码发送至数据库,并检索所述用户名及密码是否存在,若存在,则返回用户名及用户权限;接收所述Api地址返回的所述用户名及用户权限,将所述用户名及用户权限保存至内存中,并隐藏登录窗体,显示主界面;
应用程序添加模块,用于响应用户在所述主界面的工具栏区选择的加载命令,根据所述加载命令添加桌面窗体应用程序客户端;具体为:响应用户在所述主界面的工具栏区选择的加载命令;根据所述加载命令弹出OpenFileDialog对话框;通过所述对话框获取用户需要添加的桌面窗体应用程序客户端的exe文件信息;将所述exe文件信息和用户名加密后发送至所述Api地址;所述Api地址接收到所述exe文件信息和用户名后进行解密,并将解密后的所述exe文件信息和用户名转化为JSON格式数据进行解析;将解析后的所述exe文件信息和用户名发送至数据库进行保存,并返回保存成功信息;
应用程序列表显示模块,用于将添加成功的桌面窗体应用程序客户端绑定至TreeView控件,并在所述主界面的客户端列表区显示;具体为:获取用户名及用户权限,将所述用户名及用户权限加密后发送至所述Api地址;所述Api地址接收到所述用户名及用户权限进行解密,并将解密后的所述用户名及用户权限转化为JSON格式数据进行解析;将解析后的所述用户名及用户权限发送至数据库,并检索所述用户名及用户权限是否存在,若存在,则返回设备属性数据;接收所述Api地址返回的设备属性数据,将所述设备属性数据绑定至TreeView控件,并在所述主界面的客户端列表区显示;
应用程序运行模块,用于响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端,并获取选中的桌面窗体应用程序客户端的客户端信息,根据客户端信息启动桌面窗体应用程序客户端并获取客户端句柄列表;具体为:响应用户在所述主界面的客户端列表区选择的需要运行的桌面窗体应用程序客户端;获取选中的桌面窗体应用程序客户端的客户端信息;所述客户端信息包括客户端名称和客户端地址;将所述客户端名称和所述客户端地址保存为字典键值对;通过循环所述字典键值对获取客户端地址,并启动客户端,获取客户端窗体句柄;根据客户端窗体句柄获取客户端句柄列表;所述客户端句柄列表包括客户端名称和客户端窗体句柄;
应用程序窗体显示模块,根据所述客户端句柄列表创建Panel控件,并将所述Panel控件填充到所述主界面的客户端窗体展示区进行显示。
5.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述的方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。
CN202311657474.9A 2023-12-06 2023-12-06 基于桌面窗体应用程序的多窗体管理方法及装置 Active CN117348965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311657474.9A CN117348965B (zh) 2023-12-06 2023-12-06 基于桌面窗体应用程序的多窗体管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311657474.9A CN117348965B (zh) 2023-12-06 2023-12-06 基于桌面窗体应用程序的多窗体管理方法及装置

Publications (2)

Publication Number Publication Date
CN117348965A CN117348965A (zh) 2024-01-05
CN117348965B true CN117348965B (zh) 2024-02-23

Family

ID=89367156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311657474.9A Active CN117348965B (zh) 2023-12-06 2023-12-06 基于桌面窗体应用程序的多窗体管理方法及装置

Country Status (1)

Country Link
CN (1) CN117348965B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697137A (zh) * 2009-10-16 2010-04-21 金蝶软件(中国)有限公司 一种多窗体系统
CN102141893A (zh) * 2011-05-11 2011-08-03 清华大学 面向大幅面交互式桌面的多用户窗口系统
CN102243559A (zh) * 2010-05-13 2011-11-16 成都索贝数码科技股份有限公司 一种用图形界面进行媒体资产管理的方法及系统
CN104123059A (zh) * 2013-04-26 2014-10-29 华茂云天科技(北京)有限公司 基于web桌面化的云计算管理系统
CN104540027A (zh) * 2014-12-19 2015-04-22 北京正文科技有限公司 一种多屏幕环境下的多媒体展示交互控制系统
CN112395117A (zh) * 2021-01-21 2021-02-23 武汉中科通达高新技术股份有限公司 一种数据处理方法、系统和存储介质
WO2023051111A1 (zh) * 2021-09-30 2023-04-06 华为技术有限公司 多个应用组合且同时启动多个应用的方法及电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285129A1 (en) * 2017-04-04 2018-10-04 General Dynamics Mission Systems, Inc. Systems and methods for providing computer interface interaction in a virtualized environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101697137A (zh) * 2009-10-16 2010-04-21 金蝶软件(中国)有限公司 一种多窗体系统
CN102243559A (zh) * 2010-05-13 2011-11-16 成都索贝数码科技股份有限公司 一种用图形界面进行媒体资产管理的方法及系统
CN102141893A (zh) * 2011-05-11 2011-08-03 清华大学 面向大幅面交互式桌面的多用户窗口系统
CN104123059A (zh) * 2013-04-26 2014-10-29 华茂云天科技(北京)有限公司 基于web桌面化的云计算管理系统
CN104540027A (zh) * 2014-12-19 2015-04-22 北京正文科技有限公司 一种多屏幕环境下的多媒体展示交互控制系统
CN112395117A (zh) * 2021-01-21 2021-02-23 武汉中科通达高新技术股份有限公司 一种数据处理方法、系统和存储介质
WO2023051111A1 (zh) * 2021-09-30 2023-04-06 华为技术有限公司 多个应用组合且同时启动多个应用的方法及电子设备

Also Published As

Publication number Publication date
CN117348965A (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
US10552238B2 (en) Secure inter-process communications for mobile devices
US11159554B2 (en) Correlating threat information across sources of distributed computing systems
US20090129596A1 (en) System and Method for Controlling Comments in a Collaborative Document
US9442618B2 (en) Mobile device interface generator
US9804767B2 (en) Light dismiss manager
US9189091B2 (en) Assignment of control of peripherals of a computing device
US20170214726A1 (en) Open Collaboration Board with Multiple Integrated Services
EP2840802A1 (en) Method and apparatus for sharing media content and method and apparatus for displaying media content
CN102138122A (zh) 组合壳应用和子应用的界面
US10178119B1 (en) Correlating threat information across multiple levels of distributed computing systems
WO2022156606A1 (zh) 信息处理方法、装置及电子设备
CN109885781B (zh) 混合页面统一浏览方法、装置、设备和存储介质
US9275206B2 (en) Managing sensitive information
US20230385426A1 (en) Encryption Method and Apparatus, Electronic Device, and Medium
US10936738B1 (en) Moderator to extend application functionality
US20170212718A1 (en) Open Collaboration Board with Multiple Integrated Services
CN107862035B (zh) 会议记录的网络读取方法、装置、智能平板和存储介质
US10176153B1 (en) Generating custom markup content to deter robots
CN111368275B (zh) 机器人控制方法、装置、设备及存储介质
CN117348965B (zh) 基于桌面窗体应用程序的多窗体管理方法及装置
JP6897713B2 (ja) 情報処理装置、情報処理方法、およびプログラム
CN111817944A (zh) 图片分享的方法、装置及电子设备
US10140429B2 (en) Unified digital rights management for heterogenous computing platforms
CN115421631A (zh) 界面显示方法和装置
CN111158566A (zh) 一种事件处理方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant