CN111158658A - 指令处理方法、装置、终端设备及存储介质 - Google Patents
指令处理方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN111158658A CN111158658A CN201911157579.1A CN201911157579A CN111158658A CN 111158658 A CN111158658 A CN 111158658A CN 201911157579 A CN201911157579 A CN 201911157579A CN 111158658 A CN111158658 A CN 111158658A
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 269
- 238000012545 processing Methods 0.000 claims abstract description 258
- 230000008569 process Effects 0.000 claims abstract description 254
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 16
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
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 (10)
1.一种指令处理方法,应用于终端设备,其特征在于,所述指令处理方法包括:
为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
为所述指令处理进程创建与磁盘操作系统DOS进程进行数据传输的第一通道和第二通道;
获取待执行的批处理指令;
控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
2.如权利要求1所述的指令处理方法,其特征在于,所述为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄,具体包括:
利用AllocConsole函数为指令处理进程分配所述控制台窗口;
利用GetStdHandle函数获取所述指令处理进程对应的所述标准输出句柄。
3.如权利要求1所述的指令处理方法,其特征在于,所述为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道,具体包括:
为所述指令处理进程创建与DOS进程进行数据传输的第一通道;
设置所述第一通道的第一读句柄和第一写句柄,并将所述第一读句柄和所述指令处理进程绑定;
为所述指令处理进程创建与DOS进程进行数据传输的第二通道;
设置所述第二通道的第二读句柄和第二写句柄,并将所述第二写句柄和所述指令处理进程绑定;
创建所述DOS进程的子进程,并将所述第二读句柄设置为DOS窗口的标准输入句柄,将第一写句柄设置为所述DOS窗口的标准输出句柄。
4.如权利要求1所述的指令处理方法,其特征在于,所述获取待执行的批处理指令,具体包括:
定义字符数组;
获取多个待执行命令行并存储到所述字符数组中,以形成所述批处理指令,其中,所述每一待执行命令行通过换行符号分隔。
5.如权利要求3所述的指令处理方法,其特征在于,所述控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程,具体包括:
控制所述指令处理进程利用所述第二写句柄向所述第二通道写入所述批处理指令对应的命令行,以通过所述第二通道将所述批处理指令传输给所述DOS进程。
6.如权利要求3所述的指令处理方法,其特征在于,所述控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程,具体包括:
控制所述DOS进程执行所述批处理指令并将对应的执行信息利用所述第一写句柄写入所述第一通道,以通过所述第一通道输出给所述指令处理进程。
7.如权利要求6所述的指令处理方法,其特征在于,所述控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示,具体包括:
控制所述指令处理进程利用所述第一读句柄从所述第一通道将所述执行信息进行读取,并利用所述标准输出句柄将读取后的所述执行信息输出到所述控制台窗口进行显示。
8.一种指令处理装置,其特征在于,所述指令处理方装置包括:
窗口分配模块,用于为指令处理进程分配控制台窗口并获取所述控制台窗口对应的标准输出句柄;
通道创建模块,用于为所述指令处理进程创建与DOS进程进行数据传输的第一通道和第二通道;指令获取模块,用于获取待执行的批处理指令;
第一传输模块,用于控制所述指令处理进程通过所述第二通道将所述批处理指令传输给所述DOS进程;
第二传输模块,用于控制所述DOS进程执行所述批处理指令并将对应的执行信息通过所述第一通道输出给所述指令处理进程;
显示控制模块,用于控制所述指令处理进程利用所述标准输出句柄将所述执行信息输出到所述控制台窗口进行显示。
9.一种终端设备,其特征在于,所述终端设备包括:
存储器,用于存储计算机可执行的指令处理程序;以及
处理器,用于调取存储在所述存储器中的指令处理程序以执行如权利要求1-7任一项所述的指令处理方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行的指令处理程序,处理器在调用所述指令处理程序时,可执行如权利要求1-7任意一项所述的指令处理方法。
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 true CN111158658A (zh) | 2020-05-15 |
CN111158658B 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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561850A (zh) * | 2009-06-10 | 2009-10-21 | 华中科技大学 | 海量多道神经信息综合处理系统及其控制方法 |
CN104615487A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院计算机网络信息中心 | 并行任务优化系统和方法 |
US20190146830A1 (en) * | 2017-11-10 | 2019-05-16 | Salesforce.Com, Inc. | Template-driven multi-tenant workflow processing |
-
2019
- 2019-11-22 CN CN201911157579.1A patent/CN111158658B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561850A (zh) * | 2009-06-10 | 2009-10-21 | 华中科技大学 | 海量多道神经信息综合处理系统及其控制方法 |
CN104615487A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院计算机网络信息中心 | 并行任务优化系统和方法 |
US20190146830A1 (en) * | 2017-11-10 | 2019-05-16 | Salesforce.Com, Inc. | Template-driven multi-tenant workflow processing |
Non-Patent Citations (5)
Title |
---|
KEVIN J.GOODMAN著、郭勇 等译: "如何开发Windows95应用程序", 清华大学出版社, pages: 258 - 262 * |
杨超: "基于SPY++的软件功能扩展的研究", 《计算机光盘软件与应用》 * |
杨超: "基于SPY++的软件功能扩展的研究", 《计算机光盘软件与应用》, no. 01, 1 January 2013 (2013-01-01) * |
王耀辉: "Windows匿名管道技术及DOS命令重定向技术在可视化系统集成中的应用", 《长春工业大学学报(自然科学版)》, vol. 33, no. 3, pages 274 - 277 * |
苏日娜: "管道技术在TC2.0编译环境可视化中的应用", 《浙江纺织服装职业技术学院学报》, no. 02, 30 June 2006 (2006-06-30) * |
Also Published As
Publication number | Publication date |
---|---|
CN111158658B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889875B (zh) | 通信方法、装置、终端设备和计算机可读介质 | |
CN108563462B (zh) | 数据处理方法、装置、计算机设备和计算机存储介质 | |
CN112305924B (zh) | 家电设备的控制方法、装置、电子设备和存储介质 | |
CN114691300A (zh) | 一种虚拟机实例的热迁移方法 | |
CN111444609A (zh) | 数据处理方法及仿真系统 | |
CN109753347A (zh) | 一种实现驱动的系统及方法 | |
CN114153779A (zh) | 一种i2c通信方法、系统、设备、及存储介质 | |
CN116302743A (zh) | 一种usb接口测试方法、系统、计算机设备和存储介质 | |
US8006009B2 (en) | Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver | |
CN107391272A (zh) | 多进程数据交互的方法和终端 | |
CN102750493B (zh) | 访问权限控制方法、装置及系统 | |
CN111158954A (zh) | 一种云主机快照方法、系统、设备及计算机可读存储介质 | |
CN105917322B (zh) | 用于通过usb盘和允许对其的实施的相关设备来交换控制的方法 | |
CN104408209A (zh) | 移动操作系统启动过程中文件处理方法、装置及电子设备 | |
CN110535962B (zh) | 基于认证设备的数据同步方法、装置、设备和存储介质 | |
CN111858020B (zh) | 用户资源限制方法、装置及计算机存储介质 | |
CN111158658A (zh) | 指令处理方法、装置、终端设备及存储介质 | |
CN111782474A (zh) | 日志处理方法、装置、电子设备和介质 | |
CN102132250A (zh) | 管理具有多个控制器的便携式电子设备中的数据的方法 | |
CN206312120U (zh) | 一种移动设备软件更新设备 | |
TWI614684B (zh) | 即時韌體更新方法及其電腦可讀取媒介 | |
JP2006338311A (ja) | 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム | |
CN110286995B (zh) | 一种数据读写方法和装置 | |
JP7501808B2 (ja) | Icチップ | |
CN114286345B (zh) | 智能终端内的nfc通信装置及方法 |
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 |