zoukankan      html  css  js  c++  java
  • vc 打开外部线程并等待结束

    CreateProcess

    lpApplicationName:指向一个以空结尾的串,他指定了要执行的模块 ***此参数为空时命令行参数才能正常传递*** 想运行的可执行文件的名字的字符串(应含扩展名)。如果找不到该文件,CreateProcess运行失败。应该设为NULL。
    
        lpCommandLine:指向一个以空结尾的串,该串定义了要执行的命令行.传递给新进程的命令行字符串,应当为非常量字符串的地址。可以设定一个完整的命令行,如果第一个标记没有扩展名,CreateProcess将其假设为.exe。如果找不到该文件,CreateProcess按环境设置目录搜索运行。
    
        lpProcessAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承.
    
        lpThreadAttributes:指向一个SECURITY_ATTRIBUTES结构,该结构决定了返回的句柄是否可被子进程继承.
    
        bInheritHandles,:表明新进程是否从调用进程继承句柄.
    
        dwCreationFlags:定义控制优先类和进程创建的附加标志.
    
        lpEnvironment:指向一个新进程的环境块.
    
        lpCurrentDirectory:指向一个以空结尾的串,该串定义了子进程的当前驱动器和当前目录.
    
        lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示.
    
        lpProcessInformation:指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息.
    

    使用

            //WinExec(path.c_str(), SW_SHOW); 
    	//HINSTANCE instance = ShellExecute(NULL, "open", path.c_str(), NULL, NULL, SW_SHOWNORMAL);
    
    	STARTUPINFO si;
    	PROCESS_INFORMATION pi;
    
    	ZeroMemory(&pi, sizeof(pi));
    	ZeroMemory(&si, sizeof(si));
    	si.cb = sizeof(si);
    
    	auto desPath = path + " " + parameter;
    	//WinExec("explorer E:\work\code\AutoUpdate\AutoUpdate\AutoUpdate\Debug\win7sp1.msu", SW_SHOWNA);
    
    	if (CreateProcess(NULL, (LPSTR)desPath.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    		//if (CreateProcess(path.c_str(), (LPSTR)parameter.c_str(), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    		//if (CreateProcess(path.c_str(), _T("E:\work\code\AutoUpdate\AutoUpdate\AutoUpdate\Debug\win7sp1.msu"), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    	{
    
    	}
    	else {
    		//创建失败
    	}
    
    	//等待程序执行结束:
    	WaitForSingleObject(pi.hProcess, INFINITE);
    
    	CloseHandle(pi.hProcess);
    	CloseHandle(pi.hThread);
    
    留待后查,同时方便他人
    联系我:renhanlinbsl@163.com
  • 相关阅读:
    pagic Deno + React 驱动的静态网站生成器 入门
    antd Form.Item label添加解释信息
    deno可以通过url引入标准库,运行时自动下载,下载到哪里呢
    如何查看github开源项目star趋势
    使用deno开发post请求,get请求,监测文件变化自动重启(类似于nodemon)
    windows安装deno
    react 轮播图 react-slick
    display:flex 元素垂直居中,有间距,右对齐
    Java对map键名进行顺序排序后转为字符串
    IDEA快捷键大全
  • 原文地址:https://www.cnblogs.com/ives/p/15237173.html
Copyright © 2011-2022 走看看