zoukankan      html  css  js  c++  java
  • VC++ 使用CreateProcess创建新进程

    https://www.cnblogs.com/fancing/p/6477918.html

    #include <windows.h>
    #include <tchar.h>
    #include <stdio.h>
     
    int main(int argc, char* argv[])
    {
        TCHAR szCommandLine[] = TEXT("NOTEPAD");//或者WCHAR
        //LPWSTR szCommandLine = TEXT("NOTEPAD");//错误
        //STARTUPINFO si = { sizeof(si) };
        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        ZeroMemory(&si, sizeof(si));
        si.cb = sizeof(si);
        ZeroMemory(&pi, sizeof(pi));
     
        si.dwFlags = STARTF_USESHOWWINDOW;  // 指定wShowWindow成员有效
        si.wShowWindow = TRUE;          // 此成员设为TRUE的话则显示新建进程的主窗口,
                            // 为FALSE的话则不显示
        BOOL bRet = ::CreateProcess (
            NULL,           // 不在此指定可执行文件的文件名
            szCommandLine,      // 命令行参数
            NULL,           // 默认进程安全性
            NULL,           // 默认线程安全性
            FALSE,          // 指定当前进程内的句柄不可以被子进程继承
            CREATE_NEW_CONSOLE, // 为新进程创建一个新的控制台窗口
            NULL,           // 使用本进程的环境变量
            NULL,           // 使用本进程的驱动器和目录
            &si,
            &pi);
     
        if(bRet)
        {
            // 既然我们不使用两个句柄,最好是立刻将它们关闭
            ::CloseHandle (pi.hThread);
            ::CloseHandle (pi.hProcess);
     
        }
        return 0;
    }
  • 相关阅读:
    activiti基本使用
    mybatisplus分页查询
    MyBatisPlus入门案例
    mybatisplus性能分析插件
    Oracle简单应用
    mybatisplus自动填充
    mybatisplus之主键生成策略
    mybatisplus乐观锁
    复习MintUI
    React的第二种使用方法----脚手架方式
  • 原文地址:https://www.cnblogs.com/chechen/p/10058382.html
Copyright © 2011-2022 走看看