b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

易语言API取DOS执行结果模块制作

电脑杂谈  发布时间:2019-05-05 09:23:51  来源:网络整理

易特进销存商贸版破解_c语言条件编译_易语言511编译破解版

易语言511编译破解版易语言511编译破解版

取DOS执行结果,也就是通过管道把cmd的返回值取出来,已经录制了三课,用到的API较多,难度交大,要连续关注这三集,本课把它封装了成了模块,每课都在官网发布了源码。

.版本 2

.子程序 取DOS执行结果, 文本型, 公开

.参数 dos命令, 文本型

.局部变量 CreatePipe_结构体, SECURITY_ATTRIBUTES, , , CreatePipe_结构体

摘要: .版本 2.程序集 窗口程序集1.子程序 __启动窗口_创建完毕模块注册 ().子程序 _组合框1_将弹出列表.局部变量 进程, 枚举进程结构, , "0" //进程变量是一个数组,数组元素是枚举进程结构.局部变量 计次, 整数型组合框1.清空 ().计次循环首 (枚举进程 (进程), 计次) '。如果我们要得到足够多的关于新的进程的信息,控制新的进程的细节属性,若要达到这些目的,我们就需要使用createprocess函数了。} 而启动进程则只需要createprocess函数就可完成,需要注意的是这个函数的几个输入参数,第一个参数是//启动新进程int cstaticfunc::createnewprocess(lpcstr pszexename){ process_information piprocinfogps。

.局部变量 进程标识符_CreateProcess, PROCESS_INFORMATION, , , 进程标识符_CreateProcess

.局部变量 hRead, 整数型, , , 读取管道数据的文件句柄

.局部变量 hWrite, 整数型, , , 写管道数据的文件句柄

.局部变量 len, 整数型

.局部变量 txt, 字节集

.局部变量 EXIT, 整数型

c语言条件编译_易特进销存商贸版破解_易语言511编译破解版

.局部变量 返回文本, 文本型

' 结构体的大小初始化设置

CreatePipe_结构体.nLength = 12

' 设置安全描述

CreatePipe_结构体.lpSecurityDescriptor = 0

' 确定创建一个新进程时继承返回的句柄,如果为0,那么新进程将不会继承句柄,如果此字段设置为非0的值,那会就会继承该句柄

CreatePipe_结构体.bInheritHandle = 1

' 创建一个匿名管道

CreatePipe (hRead, hWrite, CreatePipe_结构体, 0)

' 应用程序必须初始化

进程启动信息_CreateProcess.cb = 68

' 制定wShowWindow有效

c语言条件编译_易特进销存商贸版破解_易语言511编译破解版

进程启动信息_CreateProcess.dwFlags = 位或 (#STARTF_USESHOWWINDOW, #STARTF_USESTDHANDLES)

' 为0不显示新建进程的主窗口,为1显示

进程启动信息_CreateProcess.wShowWindow = #SW_HIDE

进程启动信息_CreateProcess.hStdOutput = hWrite

进程启动信息_CreateProcess.hStdError = hWrite

' 判断操作系统类型,选择不同cmd

.如果 (取操作系统类别 () ≤ 2)

' 创建一个进程,并且设置读写管道,创建成功后,进程会自动再创建一个写管道端口

如何用dos命令让电脑从u盘启动=== (1)用dos命令是无法让电脑从u盘启动。其实想启动dos系统只需要一张软盘即可,dos的系统启动文件有io.sys、msdos.sys和command.com三个,只要有这三个文件就可以使用dos启动电脑,并且可以执行内部命令、运行程序和进行磁盘操作。接调用dos和windows命令: 单击dos command命令(快捷按键f9),会弹出dos命。

.否则

CreateProcess (0, “cmd.exe /c ” + dos命令, 0, 0, 真, 0, 0, 0, 进程启动信息_CreateProcess, 进程标识符_CreateProcess)

.如果结束

易语言511编译破解版_易特进销存商贸版破解_c语言条件编译

燃气热水器移机相对来说比较简单一点,把燃气总开关关闭,然后打火燃烧管道中的多余燃气。你应该在createprocess调用返回后,从读管道端读取子进程的数据之前关闭管道。返回的句柄由管道的服务器端使用createpipe 创建一个匿名管道createprocess 创建一个新进程createsemaphore 创建一个新的信号机createwaitabletimer 创建一个可等待的计时器对象disconnectnamedpipe 断开一个客户与一个命名管道的连接duplicatehandle 在指出一个现有系统对象当前句柄的情况下。

CloseHandle (hWrite)

' 设立一个无限循环

.判断循环首 (len ≠ -1)

' 查看管道中的是否有数据

PeekNamedPipe (hRead, 0, 0, 0, len, 0)

.如果 (len ≠ 0)

txt = 取空白字节集 (1024)

' 从管道中读取数据

ReadFile (hRead, txt, 1023, len, 0)

返回文本 = 返回文本 + 取字节集数据 (txt, #文本型, )

.否则

易语言511编译破解版_易特进销存商贸版破解_c语言条件编译

' 查看一下指定的进程是否已经结束

exit 函数是退出应用程序,删除进程使用的内存空间,并将应用程序的一个状态返回给 os,这个状态标识了应用程序的一些运行信息,这个信息和机器和操作系统有关,一般是 0 为正常退出,非 0 为非正常退出。一,桌面运行一个程序时,explorer调用shellexecuteex(),shellexecuteex()进一步调用createprocess()创建进程,由于这个进程需要管理员权限才能运行,于是createprocess返回error_elevation_required(740)。hprocess是要结束的目标进程的句柄,uexitcode指定目标进程的退出代码,可以使用getexitcodeprocess取得一个进程的退出代码。

' 因为有的进程退出了,但管道中还有数据,所以必须在管道中没有数据的情况下判断程序是否已经结束,从而终止循环

.如果真 (EXIT ≠ #STILL_ACTIVE)

' 彻底关闭管道

CloseHandle (hRead)

跳出循环 ()

.如果真结束

.如果结束

' 为了减轻系统的堵塞,

处理事件 ()

' 输出调试文本 (到文本 (len))

.判断循环尾 ()

返回 (返回文本)


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-96418-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 雷红
        雷红

        但北洋水师主力舰占优

      • 王莉娟
        王莉娟

        请把你的这条高论建议给奥巴马和安倍

        • 赵彦逾
          赵彦逾

          口气小点不然要翻船谪

      热点图片
      拼命载入中...