#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;
}

使用createprocess()创建进程打开其他文件方法的更多相关文章

  1. Unix 线程共享创建进程打开的文件资源(1)

    执行环境:Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 ...

  2. Linux 利用进程打开的文件描述符(/proc)恢复被误删文件

    Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...

  3. s11.1 lsof:查看进程打开的文件

    功能说明 lsof 全名为list open files,也就是列举系统中已经被打开的文件,通过lsof命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件. [语法格式] l ...

  4. lsof恢复进程打开的文件

    工作原理:进程每打开文件都会生成一个文件句柄FD来标识一个文件,进程打开的文件如果没有被释放,可以通过文件句柄FD来恢复删除的文件 注意:适合恢复进程一直在打开一个文件,例如日志文件,如果配置文件进程 ...

  5. Linux 系统管理命令 - lsof - 查看进程打开的文件

    命令详解 重要星级: ★★★★★ 功能说明: 全名为 list open files,也就是列举系统中已经被打开的文件,通过 lsof 命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进 ...

  6. lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多

    lsof | grep /lib64/libc-2.12.so | wc   == 查看打开了一个文件的有哪些进程 lsof | awk '{print $2,$1}' | sort | uniq - ...

  7. Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)

    var  ExeName:PChar;  StartupInfo:TStartupInfo;  ProcessInfo:TProcessInformation;begin  FillChar(Proc ...

  8. linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

    lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链 ...

  9. linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用

    lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链 ...

随机推荐

  1. Python之使用PIL实现cv2

    有时候使用cv2需要安装opencv,但是opencv安装比较麻烦,因为需要编译过程. 所以,我们可以使用PIL对cv2的一些常用接口进行复现. 这里我们实现了cv2的imread(), imwrit ...

  2. Python判断操作系统类型

    代码: import platform def TestPlatform(): print ("----------Operation System--------------------- ...

  3. 关于session_cache_expire 的理解

    session_cache_limiter,它是session在客户端的缓存方式,有nocache,private,private_no_expire,publice主这几种. cache是属于浏览器 ...

  4. Java如何检查线程是否停止?

    在Java编程中,如何检查线程是否停止? 以下示例演示如何通过使用isAlive()方法来检查线程是否已停止. // from W w w .Y I I b AI.c o M package com. ...

  5. js获取网页的url文件名( 例如index.aspx),js获取url的参数(例如获取 ?cid=joeylee的值),给jquery拓展方法

      <script type="text/javascript"> var JsRequest={ //这就是一个静态类,类里面有2个静态方法 //方法一:获取url的 ...

  6. VMware安装与VMware下安装CentOS系统

    1.下载安装VMware,我安装的是VMware 12.VMware从11开始不再支持32位系统,32位系统请安装VMware10. VMware官方功能特性介绍http://www.vmware.c ...

  7. 精美的HTML5/CSS3表单 带小图标

    今天我们要来分享一款非常精美的HTML5/CSS3表单,准备地说,这是一款经过美化的input输入表单,每一个输入表单都可以定义其两侧的小图标,非常华丽.另外,这款表单应用还采用了3种不同的风格主题, ...

  8. Mac下给SD卡烧录树莓派系统

    1.mac 磁盘工具 抹掉sd卡 为fat 2. df -h 看清sd卡号 3. 卸载sd卡 diskutil unmount /dev/disk2s2 Volume UNTITLED on disk ...

  9. 谈谈Android中的SurfaceTexture

    2015.7.2更新 由于很多人要代码,我把代码下载链接放在这里了.不过还是要说一下,surfaceTexture和OpenGL ES结合才能发挥出它最大的效果,我这种写法只是我自己的想法,还有很多种 ...

  10. require.js初试(with angular & optimization)

    如果你只是想找一款称手的js加载器,可以参考这篇js loader benchmarks(http://artzstudio.com/files/Boot/test/benchmarks/script ...