VC程序设计中CreateProcess用法注意事项
对于windows程序设计来说,启动一个进程有三种方法:WinExec,ShellExecute,CreateProcess。这里仅对CreateProcess的用法加以说明。
对于CreateProcess的详细参数读者可以查MSDN和《Windows API参考手册》,这里不具体说明。下面给出常用的方法:
STARTUPINFO startup;
ZeroMemory( &startup, sizeof(startup) );
startup.cb = sizeof(startup);
ZeroMemory( &m_procInfo, sizeof(m_procInfo) );
// 初始化结果体是必须的,否则会异常
BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath,
NULL,
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&startup,
&m_procInfo );
if ( !bRetVal )
{
AfxMessageBox( _T( "启动失败!" ) );
}
说明:
第一个参数是应用程序的全路径,第二个参数是命令行参数。如果第一个参数为空,就必须在第二个参数中指定应用程序的路径。
如果启动的进程与当前进程不再同一个目录下,则第八个参数必须指定,第八个参数为启动的进程所在的路径。否则不能成功启动进程。如下所示:
BOOL bRetVal = ::CreateProcess( (LPCWSTR)strProcPath,
NULL,
NULL,
NULL,
FALSE,
0,
NULL,
(LPCWSTR)strProcFolder,
&startup,
&m_procInfo );
if ( !bRetVal )
{
AfxMessageBox( _T( "启动失败!" ) );
}
相关推荐
-
VC++操作SQLite简单实例
对于很多程序员来说,SQLite并不陌生.SQLite 是一款主要用于嵌入式的开源数据库,可集成在自己的桌面程序中,也可替代Access作为后台数据库.SQLite 支持多数SQL92标准,例如:索引.限制.触发和查看支持,支持 NULL.INTEGER.REAL.TEXT 和 BLOB 数据类型,支持事务.以下是一些SQLite的简单使用. //建立数据库 C:\sqlite-3_6_11> sqlite3.exe dbname.db 建立数据库的时候sqlite3.exe后面跟数据库文件名
-
VC实现ODBC数据库操作实例解析
本文以VC实例介绍了实现数据库操作的各种方法,包括打开数据库.关联记录集.读取Excel数据.执行SQL查询.创建存取字符串等,相信对于初学VC的朋友有一定的参考价值,主要功能代码如下: //打开数据库 CDatabase database; database.OpenEx( _T( "DSN=zhuxue" ),CDatabase::noOdbcDialog);//zhuxue为数据源名称 //关联记录集 CRecordset recset(&database); //查询记
-
VC实现批量删除指定文件的方法
本文所述实例主要实现了删除某个盘符下指定位置的文件,可以是TXT.doc.jpeg等格式,只要选定格式后,再定义好盘符,即可一键删除所有指定类型的文件.再次提示删除前请确认,且删除后不可恢复. 以下是最主要的核心代码,其它代码读者可以自己添加. SHFILEINFO shInfo; memset(&shInfo,0,sizeof(SHFILEINFO)); HIMAGELIST hImage = (HIMAGELIST)SHGetFileInfo("C:\\",0,&s
-
VC小技巧汇总之5则实用小技巧
本文搜集汇总VC的5则小技巧,非常实用,对于VC程序设计有很好的参考借鉴价值,详情如下: 1.如何获取程序所在的路径 也就是获取你这个程序本身所在的路径. 在应用程序类CxxApp的头文件中定义一个变量CString m_exePath;用来放置程序的路径名,在应用程序类CxxApp的InitInstance()函数中加入如下语句: TCHAR m_Path[MAX_PATH]; GetModuleFileName( NULL, m_Path, MAX_PATH ); //获取程序路径(包括程序
-
VC6.0实现读取Excel数据的方法
Excel是常用的办公软件之一,本文以Excel2003为例说明VC程序读取Excel文件的方法.具体步骤如下: 1.首先要将excel类添加到工程中. 在ClassWizard中,[Add Class],在Excel的安装目录找到Excel.exe(Microsoft2003是Excel.exe:2007应该又独立的lib库,这个没有验证),添加必要的几个类: // Excel应用对象 _Application m_oExcelApp; // Excel程序 _Worksheet m_oW
-
VC动态生成菜单项的实现方法
本例所述为使用VC编写的一个可以动态生成菜单项的类文件,这里展示的是其核心代码,代码备有比较详细的注释,相对而言理解起来并不复杂. 主要功能代码如下: #include "stdafx.h" #include "Test.h" #include "TestDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 用于应用程序"关于"菜单项的 CAboutDlg 对话框 class
-
VC实现让关闭按钮成灰色不可用的方法
对于有些情况下运行的VC项目程序来说,会有禁止用户通过标题栏上的关闭按钮关闭窗口的情况,你会发现,这时候程序的关闭按钮变成灰色不可用,从任务栏处也无法关闭窗口,菜单同样是灰色的,很好的禁止了窗口关闭功能,如果想关闭,可以按键盘上的快捷键"ALT+F4",或者通过任务管理器结束任务.下面就来说明一下这个功能的核心代码文件. 禁用关闭按钮的具体功能代码如下: #include "stdafx.h" #include "Test.h" #include
-
基于VC实现的网络监听功能程序实例
本文所述VC++网络监听器代码,可以实现监听网络连接所使用的协议.源IP地址.目标IP地址等信息的功能,并且能把数据内容绑定到网格控件中显示.具体功能代码部分如下所示: //线程函数 UINT ThreadFun( LPVOID pParam ) { CSniffAppDlg* pDlg = static_cast<CSniffAppDlg*>(pParam); MSG msg; char buffer[1000],sourceip[32] ,*tempbuf; char *ptemp; BY
-
VC小技巧汇总之窗口技巧
本文搜集汇总了VC小技巧的窗口技巧,对于VC程序开发的窗口设计而言有一定的借鉴价值,详情如下: 1.让窗口一启动就最大化 把应用程序类(CxxxApp)的 InitInstance() 函数中的 m_pMainWnd->ShowWindow(SW_SHOW); 改为 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 则窗口一启动就最大化显示. 2.如何设置窗口的初始尺寸 在将应用程序类(CxxAPP)的 InitInstance() 函数中加入: m_pMai
-
VC小技巧汇总之控件技巧
本文搜集汇总了VC小技巧的控件技巧,对于进行VC开发来说有一定的借鉴价值,具体如下: 1.如何隐藏和显示控件 用CWnd类的函数BOOL ShowWindow(int nCmdShow)可以隐藏或显示一个控件. 例1: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT为控件ID号 pWnd->ShowWindow( SW_HIDE ); //隐藏控件 例2: CWnd *pWnd; pWnd = GetDlgItem( I
随机推荐
- AngularJS实现进度条功能示例
- 基于JS脚本语言的基础语法详解
- 实例详解JSON数据格式及json格式数据域字符串相互转换
- 浅谈python中的数字类型与处理工具
- php skymvc 一款轻量、简单的php
- 如何对一个文件夹进行创建和删除?
- JavaScript实现动态添加Form表单元素的方法示例
- ASP开发中可能遇到的错误信息中文说明大全(整理收集)第1/2页
- JS子父窗口互相操作取值赋值的方法介绍
- 批处理FOR 中的Delims和Tokens总结
- 在PostgreSQL中使用日期类型时一些需要注意的地方
- My Sql 1067错误与编码问题的解决方案
- strcpy函数实现简示例命分享
- jQuery通过点击行来删除HTML表格行的实现示例
- 简单实现的JQuery文本框水印插件
- jquery实现文本框鼠标右击无效以及不能输入的代码
- Android EasyBarrage实现轻量级弹幕效果
- Android PopupWindow实现右侧、左侧和底部弹出菜单
- js 毫秒转天时分秒的实例
- Java Swing组件文件选择器JFileChooser简单用法示例
