使用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;
}
使用createprocess()创建进程打开其他文件方法的更多相关文章
- 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 ...
- Linux 利用进程打开的文件描述符(/proc)恢复被误删文件
Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...
- s11.1 lsof:查看进程打开的文件
功能说明 lsof 全名为list open files,也就是列举系统中已经被打开的文件,通过lsof命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进程打开的文件. [语法格式] l ...
- lsof恢复进程打开的文件
工作原理:进程每打开文件都会生成一个文件句柄FD来标识一个文件,进程打开的文件如果没有被释放,可以通过文件句柄FD来恢复删除的文件 注意:适合恢复进程一直在打开一个文件,例如日志文件,如果配置文件进程 ...
- Linux 系统管理命令 - lsof - 查看进程打开的文件
命令详解 重要星级: ★★★★★ 功能说明: 全名为 list open files,也就是列举系统中已经被打开的文件,通过 lsof 命令,就可以根据文件找到对应的进程信息,也可以根据进程信息找到进 ...
- lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多
lsof | grep /lib64/libc-2.12.so | wc == 查看打开了一个文件的有哪些进程 lsof | awk '{print $2,$1}' | sort | uniq - ...
- Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)
var ExeName:PChar; StartupInfo:TStartupInfo; ProcessInfo:TProcessInformation;begin FillChar(Proc ...
- linux命令 — lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
- linux lsof 查看进程打开那些文件 或者 查看文件给那个进程使用
lsof命令是什么? 可以列出被进程所打开的文件的信息.被打开的文件可以是 1.普通的文件,2.目录 3.网络文件系统的文件,4.字符设备文件 5.(函数)共享库 6.管道,命名管道 7.符号链 ...
随机推荐
- ABAP--如何创建自定义打印条码
ABAP--如何创建自定义打印条码 BARCODE in Smartforms: How to create customize BARCODE for Smartforms. 1 Introduct ...
- Yum 安装并设置 MySQL
本质上都是设置一个yum源,然后yum安装即可. 不过添加yum源有两个方法,一种是自己新建一个 /etc/yum.repos.d/mysql-community.repo :另一种是使用MySQ ...
- 2016年第七届蓝桥杯C/C++B组省赛题目解析
题目1:煤球数目 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少个煤球?请填 ...
- c# 生成随机时间
Random random = new Random((int)(DateTime.Now.Ticks)); ; ) { , ); , ); , ); string tempStr = string. ...
- Volley的Get、Post方式(JsonObjectRequest、StringRequest)以及Volley获取图片的3种方式
activity_main.xml 里面什么也没有 AndroidManifest.xml(重点是android:name="com.example.volley.MyApplication ...
- gitlab的安装和基本维护
基本介绍 GitLab是一个自托管的Git项目仓库,可以自己搭建个人代码管理的仓库,功能与github类似. 安装 操作系统:CentOS6.5 gitlab官网下载安装地址:https://abou ...
- Kubeadm 安装
version 1.7.0 已解决: echo "1" > /proc/sys/net/bridge/bridge-nf-call-iptables error: faile ...
- VMware克隆虚拟机后无法启动网卡
最简单的办法: 修改这个文件:/etc/udev/rules.d/70_persistent-net.rules 把eth1修改为eth0,记下里面的mac地址 修改/etc/sysconfig/ne ...
- 6.查找单链表中的倒数第k个结点
普通思路:先将整个链表从头到尾遍历一次,计算出链表的长度size,得到链表的长度之后,就好办了,直接输出第(size-k)个节点就可以了(注意链表为空,k 为0,k为1,k大于链表中节点个数时的情况) ...
- unity3d 资源打包加密 整理
资源打包脚本,放到Assets\Editor 文件夹下 using UnityEngine; using System.Collections; using UnityEditor; using Sy ...