CN111158658B - 指令处理方法、装置、终端设备及存储介质 - Google Patents

指令处理方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN111158658B
CN111158658B CN201911157579.1A CN201911157579A CN111158658B CN 111158658 B CN111158658 B CN 111158658B CN 201911157579 A CN201911157579 A CN 201911157579A CN 111158658 B CN111158658 B CN 111158658B
Authority
CN
China
Prior art keywords
instruction
instruction processing
channel
handle
dos
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
CN201911157579.1A
Other languages
English (en)
Other versions
CN111158658A (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.)
Shenzhen Launch Technology Co Ltd
Original Assignee
Shenzhen Launch 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 Shenzhen Launch Technology Co Ltd filed Critical Shenzhen Launch Technology Co Ltd
Priority to CN201911157579.1A priority Critical patent/CN111158658B/zh
Publication of CN111158658A publication Critical patent/CN111158658A/zh
Application granted granted Critical
Publication of CN111158658B publication Critical patent/CN111158658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • 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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了指令处理方法、装置、终端设备及存储介质,其中,指令处理方,应用于终端设备,其包括为指令处理进程分配控制台窗口并获取控制台窗口对应的标准输出句柄;为指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;获取待执行的批处理指令;控制指令处理进程通过第二通道将批处理指令传输给DOS进程;控制DOS进程执行批处理指令并将对应的执行信息通过第一通道输出给指令处理进程;控制指令处理进程利用标准输出句柄将执行信息输出到控制台窗口进行显示。本方法中指令处理进程利用通道与DOS进程进行数据交互以在DOS进程实现批处理操作,并通过标准输出句柄,将DOS进程执行结果显示在标准输出窗口上,达到模拟命令行程序界面的效果。

Description

指令处理方法、装置、终端设备及存储介质
技术领域
本申请涉及指令处理技术领域,尤其涉及一种指令处理方法、装置、终端设备及存储介质。
背景技术
程序设计人员在进行程序开发时通常需要对其所设计的程序进行校验,校验时程序设计人员为了节约时间,通常采样批处理文件方式进行校验。
批处理文件是一种在DOS(Disk Operating System,磁盘操作系统)下最常用的可执行文件,它具有灵活的操纵性,可适应各种复杂的计算机操作。所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。即是把原来一个一个执行的命令汇总起来,成批的执行,而程序文件可以移植到其它电脑等终端设备中运行,因此可以大大节省命令反复输入的繁琐。
目前应用程序执行批处理的方式通常有两种,其一是先将批处理指令存储在“.bat”后缀的批处理文件中,然后在程序需要的地方调用该批处理文件,这种方法,必须在程序指定的目录放置批处理文件,有泄密的风险。其二是在程序中直接调用命令行程序(cmd.exe)执行批处理指令,但是这种方法只能执行一条指令,具有局限性。
因此,如何实现指令批量处理的安全性和便捷性是本领域技术人员正在研究的热门课题。
发明内容
本申请的主要目的在于提供一种指令处理方法、装置、终端设备及存储介质。
为实现上述目的,本申请提供一种指令处理方法,应用于终端设备,所述指令处理方法包括:
为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
为所述指令处理进程创建与磁盘操作系统DOS进程进行数据传输的第一通道和第二通道;
获取待执行的批处理指令;
控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
优选地,所述为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄,具体包括:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
优选地,所述为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道,具体包括:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
优选地,所述获取待执行的批处理指令,具体包括:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
优选地,所述控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程,具体包括:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
优选地,所述控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程,具体包括:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
优选地,所述控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示,具体包括:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
本申请还提供一种指令处理装置,所述指令处理方装置包括:
窗口分配模块,用于为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
通道创建模块,用于为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;指令获取模块,用于获取待执行的批处理指令;
第一传输模块,用于控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
第二传输模块,用于控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
显示控制模块,用于控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
优选地,所述窗口分配模块还用于:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
优选地,所述通道创建模块还用于:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
优选地,所述指令获取模块还用于:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
优选地,所述第一传输模块还用于:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
优选地,所述第二传输模块还用于:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
优选地,所述显示控制模块还用于:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
本申请还提供一种终端设备,所述终端设备包括:
存储器,用于存储计算机可执行的指令处理程序;以及
处理器,用于调取存储在所述存储器中的指令处理程序以执行前述的指令处理方法。
本申请还提供一种存储介质,所述存储介质存储有计算机可执行的指令处理程序,处理器在调用所述指令处理程序时,可执行前述的指令处理方法。
与现有技术相比,本申请所提供的指令处理方法应用于终端设备,所述方法通过为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;获取待执行的批处理指令;控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
即,本申请所提供的指令处理方法通过建立指令处理进程与DOS进程进行数据交互的通道,指令处理进程利用通道与DOS进程进行数据交互,在DOS进程实现批处理操作,通过标准输出句柄,将DOS进程执行结果显示在标准输出窗口上,达到模拟命令行程序界面的效果。
附图说明
图1为本申请一实施例所提供的一种指令处理方法的步骤流程图;
图2为本申请所提供的指令处理方法的一种应用场景示意图;
图3为图1中步骤S2的一个子步骤流程图;
图4为指令处理进程和DOS进程进行交互的示意图;
图5为图1中步骤S3的一个子步骤流程图;
图6为本申请一实施例提供的指令处理装置的结构框图;
图7为本申请一实施例提供的终端设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,如下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本申请提供了一种指令处理方法、装置、终端设备、终端设备及存储介质,其中,所述方法应用于终端设备,所述方法通过为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;获取待执行的批处理指令;控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
即,本申请所提供的指令处理方法通过建立指令处理进程与DOS进程进行数据交互的通道,指令处理进程利用通道与DOS进程进行数据交互,在DOS进程实现批处理操作,通过标准输出句柄,将DOS进程执行结果显示在标准输出窗口上,达到模拟命令行程序界面的效果。
请参阅图1-2,图1为本申请提供了一种指令处理方法,应用于终端设备10,其中,终端设备10可以是个人电脑(PC)、移动终端、个人数字助理PDA,在此不做限定,所述指令处理方法包括:
步骤S1:为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄。
在部分实施例中,所述为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄,具体包括:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
示例性地,通过调用AllocConsole函数,为指令处理进程分配一个控制台窗口,也即指令处理进程的标准输出窗口,利用GetStdHandle函数获取指令处理进程的标准输出缓冲区的句柄,即标准输出句柄,如,所获取的标准输出句柄为hStdout。
步骤S2:为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道。
请参阅图3,在部分实施例中,所述为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道,具体包括:
步骤S21:为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
步骤S22:设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
步骤S23:为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
步骤S24:设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
步骤S25:创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
示例性地,创建一个用于指令处理进程的进行数据输入和磁盘操作系统DOS进程数据输出操作的第一通道,并设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定。
创建一个用于指令处理进程的进行数据输出和DOS进程数据输入操作的第二通道,并设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定。
创建所述DOS进程的子进程,用来处理待执行中的批处理指令,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
例如,在指令处理进程和DOS进程之间创建第一通道A,并设置第一通道A的第一读句柄为hParentRead,第一写句柄为hChildWrite。
将第一读句柄hParentRead绑定到该指令处理进程。
创建一个用于指令处理进程用于输出,DOS进程进行输入操作的第二通道A,并设置该第二通道的第二读句柄为hChildRead,第二写句柄为hParentWrite。将将第二写句柄hParentWrite绑定到指令处理进程。
创建DOS进程的子进程,用来待处理的批处理指令,将第二读句柄hChildRead设置为DOS窗口标准输入句柄,将第一写句柄hChildWrite设置为DOS窗口标准输出句柄,这样即可使DOS窗口的输入和输出均被定向到指令处理进程中。如此,即可在指令处理进程和DOS进程之间进行双向读写数据,及进行数据交互,如图4所示。
步骤S3:获取待执行的批处理指令。
请参阅图5,在部分实施例中,所述获取待执行的批处理指令,具体包括:
步骤S31:定义字符数组;
步骤S32:获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
示例性地,定义一个可以存放N个元素的字符数组,N为大于零的正整数,且N的大小可以根据需要设置。
将要执行的命令行存储到该字符数组中,每条命令行之间用换行符分隔开,当DOS进程获取到字符数组中的数据后,就会根据换行符将指令分成一条一条单独的指令来执行。
步骤S4:控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程。
在部分实施例中,所述控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程,具体包括:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
示例性地,指令处理进程通过第二写句柄hParentWrite向第二通道B写入所获取的字符数组中的命令行数组,以通过所述第二通道将所述批处理指令传输给所述DOS进程,DOS进程会读取第二通道B中命令行,并执行相应的指令。
步骤S5:控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程。
在部分实施例中,所述控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程,具体包括:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
示例性地,DOS进程将其执行信息利用第一写句柄hChildWrite写入到第一通道A,以通过所述第一通道输出给所述指令处理进程。
步骤S6:控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
在部分实施例中,所述控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示,具体包括:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
指令处理进程利用第一读句柄hParentRead从第一通道A读取输出的执行信息,并利用所述标准输出句柄hStdout将读取后的所述执行信息输出到所述控制台窗口进行显示,以使用户及时获知指令执行结果。
请参阅图6,本申请还提供一种指令处理装置101,应用于终端设备10,其特征在于,所述指令处理方装置包括:
窗口分配模块1011,用于为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
通道创建模块1012,用于为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;指令获取模块1013,用于获取待执行的批处理指令;
第一传输模块1014,用于控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
第二传输模块1015,用于控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
显示控制模块1016,用于控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
在部分实施例中,窗口分配模块1011还用于:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
在部分实施例中,通道创建模块1012还用于:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
在部分实施例中,指令获取模块1013还用于:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
在部分实施例中,第一传输模块1014还用于:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
在部分实施例中,第二传输模块1015还用于:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
在部分实施例中,显示控制模块1016还用于:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
请参阅图7,本申请还提供一种终端设备20,终端设备20包括存储器202以及处理器203,其中,存储器202与处理器203通信连接。
其中,存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器202在一些实施例中可以是终端设备20的内部存储单元,例如该终端设备20的硬盘。存储器202在另一些实施例中也可以是终端设备20的外部存储设备,例如终端设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。存储器202不仅可以用于存储安装于终端设备20的应用程序及各类数据,例如计算机可读程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据,也即该第一存储器可以作为存储介质,存储介质存储有计算机可执行的指令处理程序。
处理器203在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,处理器203可调用存储器202中存储的指令处理程序,以实现如下步骤:
为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;
获取待执行的批处理指令;
控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
在部分实施例中,处理器203还用于实现如下步骤:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
在部分实施例中,处理器203还用于实现如下步骤:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
在部分实施例中,处理器203还用于实现如下步骤:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
在部分实施例中,处理器203还用于实现如下步骤:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
在部分实施例中,处理器203还用于实现如下步骤:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
在部分实施例中,处理器203还用于实现如下步骤:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
本申请还提供一种存储介质,存储介质可应用于终端设备,所述存储介质存储有计算机可执行的指令处理程序,处理器在调用所述指令处理程序时,可执行如下的指令处理方法步骤:
为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;
获取待执行的批处理指令;
控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
在部分实施例中,处理器还用于实现如下步骤:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
在部分实施例中,处理器还用于实现如下步骤:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
在部分实施例中,处理器还用于实现如下步骤:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
在部分实施例中,处理器还用于实现如下步骤:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
在部分实施例中,处理器还用于实现如下步骤:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
在部分实施例中,处理器还用于实现如下步骤:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
以上仅为本申请的优选实施例,并非因此限制本申请的保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的保护范围内。

Claims (8)

1.一种指令处理方法,应用于终端设备,其特征在于,
所述指令处理方法包括:
为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
为所述指令处理进程创建与磁盘操作系统DOS进程进行数据传输的第一通道和第二通道;
获取待执行的批处理指令;
控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示;
所述为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄,具体包括:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄;
所述控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示,具体包括:
控制所述指令处理进程利用第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
2.如权利要求1所述的指令处理方法,其特征在于,
所述为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道,具体包括:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
3.如权利要求1所述的指令处理方法,其特征在于,
所述获取待执行的批处理指令,具体包括:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,每一待执行命令行通过换行符号分隔。
4.如权利要求2所述的指令处理方法,其特征在于,
所述控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程,具体包括:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
5.如权利要求2所述的指令处理方法,其特征在于,
所述控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程,具体包括:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
6.一种指令处理装置,用于执行权利要求1-5任意一项所述的方法,其特征在于,
所述指令处理装置包括:
窗口分配模块,用于为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
通道创建模块,用于为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;指令获取模块,用于获取待执行的批处理指令;
第一传输模块,用于控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
第二传输模块,用于控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
显示控制模块,用于控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
7.一种终端设备,其特征在于,
所述终端设备包括:
存储器,用于存储计算机可执行的指令处理程序;以及
处理器,用于调取存储在所述存储器中的指令处理程序以执行如权利要求1-5任一项所述的指令处理方法。
8.一种存储介质,其特征在于,
所述存储介质存储有计算机可执行的指令处理程序,处理器在调用所述指令处理程序时,执行如权利要求1-5任意一项所述的指令处理方法。
CN201911157579.1A 2019-11-22 2019-11-22 指令处理方法、装置、终端设备及存储介质 Active CN111158658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911157579.1A CN111158658B (zh) 2019-11-22 2019-11-22 指令处理方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911157579.1A CN111158658B (zh) 2019-11-22 2019-11-22 指令处理方法、装置、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN111158658A CN111158658A (zh) 2020-05-15
CN111158658B true CN111158658B (zh) 2024-04-02

Family

ID=70556053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911157579.1A Active CN111158658B (zh) 2019-11-22 2019-11-22 指令处理方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN111158658B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561850A (zh) * 2009-06-10 2009-10-21 华中科技大学 海量多道神经信息综合处理系统及其控制方法
CN104615487A (zh) * 2015-01-12 2015-05-13 中国科学院计算机网络信息中心 并行任务优化系统和方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585698B2 (en) * 2017-11-10 2020-03-10 Salesforce.Com, Inc. Template-driven multi-tenant workflow processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101561850A (zh) * 2009-06-10 2009-10-21 华中科技大学 海量多道神经信息综合处理系统及其控制方法
CN104615487A (zh) * 2015-01-12 2015-05-13 中国科学院计算机网络信息中心 并行任务优化系统和方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Kevin J.Goodman著、郭勇 等译.如何开发Windows95应用程序.清华大学出版社,1996,第258-262页. *
Windows匿名管道技术及DOS命令重定向技术在可视化系统集成中的应用;王耀辉;《长春工业大学学报(自然科学版)》;第第33卷卷(第第3期期);274-277 *
基于SPY++的软件功能扩展的研究;杨超;《计算机光盘软件与应用》;20130101(第01期);全文 *
管道技术在TC2.0编译环境可视化中的应用;苏日娜;《浙江纺织服装职业技术学院学报》;20060630(第02期);全文 *

Also Published As

Publication number Publication date
CN111158658A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
US9128615B2 (en) Storage systems that create snapshot queues
CN107632828B (zh) 多dts文件支持方法、编译装置及嵌入式设备
CN107704282B (zh) 一种应用于嵌入式系统的加载方法及装置
US20120047579A1 (en) Information device, program, method for preventing execution of unauthorized program code, and computer readable recording medium
CN115658160B (zh) 基于多核异构soc的多操作系统升级方法、装置及系统
CN108563462B (zh) 数据处理方法、装置、计算机设备和计算机存储介质
CN110289039B (zh) 一种eMMC的调试方法和装置
CN110209605B (zh) Pcie总线网卡的寄存器读写方法和计算设备
CN107678770B (zh) 接口芯片升级方法、装置、存储介质和处理器
CN112306473B (zh) 一种程序接口传参方法、系统及相关设备
CN107133169B (zh) 应用测试包生成方法及生成装置
CN111158658B (zh) 指令处理方法、装置、终端设备及存储介质
US7921334B2 (en) Program and method for error determination, and electronic apparatus
CN110795373B (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
CN111782474A (zh) 日志处理方法、装置、电子设备和介质
CN109324838B (zh) 单片机程序的执行方法、执行装置及终端
CN104461603A (zh) 一种信息处理方法及电子设备
CN116305100A (zh) 识别热插拔硬盘的方法、系统、计算机设备和存储介质
EP3136278A1 (en) Dynamically loaded code analysis device, dynamically loaded code analysis method, and dynamically loaded code analysis program
JP5116606B2 (ja) ソフトウェア解析システム
CN108829574B (zh) 测试数据铺设方法、测试服务器及计算机可读存储介质
CN110286995B (zh) 一种数据读写方法和装置
CN206312120U (zh) 一种移动设备软件更新设备
CN111813673A (zh) 硬盘填充测试方法及系统
US9807230B2 (en) Parameter writing program on communication subscriber card

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