• 使用createprocess()创建进程打开其他文件方法


    #include "stdafx.h"
    #include "windows.h"
    #include <iostream>
    #include "shellapi.h"
    #include <stdlib.h>
    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    //system("dir");
    //system("pause");

    //打开声音设备
    //::ShellExecute(NULL,_T("OPEN"),_T("rundll32.exe"),_T("shell32.dll Control_RunDLL mmsys.cpl,,1"),NULL,SW_SHOW);

    //打开鼠标设备
    //::ShellExecute(NULL,_T("OPEN"),_T("rundll32.exe"),_T("shell32.dll Control_RunDLL main.cpl,,4"),NULL,SW_SHOW);

    打开系统设备
    //::ShellExecute(NULL,_T("OPEN"),_T("rundll32.exe"),_T("shell32.dll Control_RunDLL sysdm.cpl,,1"),NULL,SW_SHOW);


    WCHAR tstr[MAX_PATH] = TEXT("c:\windows\system32\notepad.exe e:\11.txt");//打开指定的11.txt文件(这里不能把字符串直接拷贝到函数中执行,会崩溃,参数是指向地址)

    STARTUPINFO si;
    memset(&si,0,sizeof(STARTUPINFO));//初始化si在内存块中的值(详见memset函数)
    si.cb=sizeof(STARTUPINFO);
    si.dwFlags=STARTF_USESHOWWINDOW;
    si.wShowWindow=SW_SHOW;
    PROCESS_INFORMATION pi;//必备参数设置结束
    if(!CreateProcess(NULL,tstr,
    NULL,
    NULL,
    FALSE,
    0,
    NULL,
    NULL,
    &si,
    &pi
    )
    //创建一个新的txt文件
    // CreateProcess(TEXT("c:\windows\system32\notepad.exe"),
    // NULL,
    // NULL,
    // NULL,
    // FALSE,
    // 0,
    // NULL,
    // NULL,
    // &si,
    // &pi
    // )


    ){
    cout<<"CreateFail!"<<endl;
    exit(1);
    }else{
    cout<<"Success!"<<endl;
    }
    //不使用的句柄最好关掉
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
    return 0;

    DWORD dwErr = GetLastError();
    return 0;
    }

  • 相关阅读:
    HTML5拖拽
    HTML5地理定位
    HTML5文件读取
    HTML5全屏
    HTML5网络状态
    可爱的小黄人
    HTML5新增特性
    前端表单标签
    前端(表格)
    前端列表
  • 原文地址:https://www.cnblogs.com/lisuyun/p/4893438.html
Copyright © 2020-2023  润新知