CreateProcess的使用方法
使用编译器vs2008。
第一、第二个參数的使用方法:
样例:
使用ie打开指定的网页。
注意第二个參数是 可运行文件+命令行參数
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE; //TRUE表示显示创建的进程的窗体
TCHAR cmdline[] =TEXT("c://program files//internet explorer//iexplore.exe http://community.csdn.net/");
BOOL bRet = ::CreateProcess (
NULL,
cmdline, //在Unicode版本号中此參数不能为常量字符串,由于此參数会被改动
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
int error = GetLastError();
if(bRet)
{
::CloseHandle (pi.hThread);
::CloseHandle (pi.hProcess);
printf(" 新进程的进程ID号:%d /n", pi.dwProcessId);
printf(" 新进程的主线程ID号:%d /n", pi.dwThreadId);
}
else
{
printf("error code:%d/n",error );
}
return 0;
}
也可如此:
第一个參数是 可运行文件;第二个參数是 命令行參数
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = TRUE; //TRUE表示显示创建的进程的窗体
TCHAR cmdline[] =TEXT(" http://community.csdn.net/"); //注意前面有空格,否则打开的是主页。
BOOL bRet = ::CreateProcess (
TEXT("c://program files//internet explorer//iexplore.exe"),
cmdline, //在Unicode版本号中此參数不能为常量字符串,由于此參数会被改动
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&si,
&pi);
int error = GetLastError();
if(bRet)
{
::CloseHandle (pi.hThread);
::CloseHandle (pi.hProcess);
printf(" 新进程的进程ID号:%d /n", pi.dwProcessId);
printf(" 新进程的主线程ID号:%d /n", pi.dwThreadId);
}
else
{
printf("error code:%d/n",error );
}
return 0;
}
CreateProcess的使用方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- Github上LeakCanary编译报错CreateProcess error=2的解决方法
现象说明: 从github上拉下LeakCanary编译时报错 CreateProcess error=2, ϵͳÕҲ»µ½ָ¶ 原因分析: 该现象是由于Windows中Gradle调用命令未加cmd ...
- [转]vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,Cr ...
- eclipse执行单元测试报CreateProcess error=87的解决方法
原因是classpath的路径过长导致,在网上看了很多文章,发现解决方法有2种: 1.更改项目路径 或者 maven本地库的路径,减少classpath的深度. 2.由于这是eclipse自身的bug ...
- Xhprof graphviz Warning: proc_open() [function.proc-open]: CreateProcess failed, error code 解决方法
Xhprof在windows下点击[View Full Callgraph]调用graphviz软件时.警告Warning: proc_open() [function.proc-open]: Cre ...
- 使用createprocess()创建进程打开其他文件方法
#include "stdafx.h"#include "windows.h"#include <iostream>#include "s ...
- OpenVPN GUI出现CreateProcess错误的解决方法
问题描述 启动 OpenVPN GUI 时失败,提示“CreateProcess Failed, exe=’X:\XXXXX\OpenVPN\bin\openvpn.exe’ cmdline= ...
- 非常简单的利用CreateProcess注入DLL的方法
TCHAR szDll[] = TEXT("d:\\test.dll"); STARTUPINFO si = {0}; PROCESS_INFORMATION pi = {0}; ...
- 2015.1.25 Delphi打开网址链接的几种方法
Delphi打开网址链接的几种方法1.使用shellapi打开系统中默认的浏览器 首先需在头部引用 shellapi单元即在uses中添加shellapi,这里我们需要知道有 ...
随机推荐
- ECSHOP seo修改建议
ECSHOP是一个非常优秀的商城程序,以丰富的模板.稳定开源.非常快的执行速度赢得广大网店主的青眯.可是新建站30多天,目前百度只收录了首页,而google收录正常.我检查了他的网站一切正常,没有任何 ...
- C语言指针5分钟教程
指针.引用和取值 什么是指针?什么是内存地址?什么叫做指针的取值?指针是一个存储计算机内存地址的变量.在这份教程里“引用”表示计算机内存地址.从指针指向的内 存读取数据称作指针的取值.指针可以指向某些 ...
- 15、自定义Content Provider
自定义Content Provider的步骤 1. 编写一个类,该类必须继承自ContentProvider类. 实现ContentProvider类中所有的抽象方法. 定义Content ...
- Fitnesse-20140630与RestFixture-3.1编译与运行步骤
为了能使RestFixture-3.1在Fitnesse-20140630中正确打印测试结果,准备修改RestFixture. 1.下载并编译Fitnesse-20140630 以下步骤以在64位Wi ...
- Oracle11g导入*.dmp数据文件
imp命令导入数据:imp username/password@SID file=XXX.dmp fromuser=XXX touser=XXX tables=(XXX,XXX) [ignore=y ...
- PHP 正则表达式总结
可以用字符作为一个通配符来代替除换行符(\n)之外的任一个字符.例如,正则表达式:.at可以与"cat"."sat"."#at"和" ...
- 微软控制台带来的PHP控制台输出问题
/** * 测试文件包含方式对跨平台的影响 * 控制台下测试. * 默认的文件编码为 UTF-8 */ function testChinese() { $file = __DIR__ . '/con ...
- Codeforces 380 简要题解
ABC见上一篇. 感觉这场比赛很有数学气息. D: 显然必须要贴着之前的人坐下. 首先考虑没有限制的方案数.就是2n - 1(我们把1固定,其他的都只有两种方案,放完后长度为n) 我们发现对于一个限制 ...
- linux 配置免密码登录
主要就是两步 : 1. scp ~/.ssh/id_rsa.pub root@远程ip地址:~/ 2. cat id_rsa.pub >> ~/.ssh/authorized_keys,把 ...
- 【转】Maven实战(六)--- dependencies与dependencyManagement的区别
原博文出自于:http://blog.csdn.net/liutengteng130/article/details/46991829 感谢! 在上一个项目中遇到一些jar包冲突的问题,之后还有很 ...