函数原型:
BOOL CreateProcess
(
LPCTSTR lpApplicationName, //可执行文件的文件名,如"C:\\Windows\\system32\\notepad.exe"
LPTSTR lpCommandLine, // 指定传递给可执行文件的参数,如"WORDPAD C:\\Windows\\System32\\ReadMe.txt"
LPSECURITY_ATTRIBUTES lpProcessAttributes, //进程安全属性,一般默认为NULL
LPSECURITY_ATTRIBUTES lpThreadAttributes, //线程安全属性,一般默认为NULL
BOOL bInheritHandles, //指定当前进程的可继承句柄是否可被新进程继承
DWORD dwCreationFlags, //指定新进程的优先级及其创建的标志
LPVOID lpEnvironment, //指定新进程使用的环境变量
LPCTSTR lpCurrentDirectory, // 新进程使用的当前目录
LPSTARTUPINFO lpStartupInfo, // 指定新进程主窗口 位置,大小等
LPPROCESS_INFORMATION lpProcessInformation //返回新进程的标志信息,如ID,句柄等
);
//vc6.0
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
int main()
{
TCHAR szComanmd[] = TEXT("WORDPAD C:\\Windows\\System32\\ReadMe.txt");/*\\ \\ \\*/
STARTUPINFO si = {sizeof(si)};
PROCESS_INFORMATION pi;
int bRet = ::CreateProcess(TEXT("C:\\Windows\\system32\\notepad.exe"),szComanmd,NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
return 0;
}
其中:
STARTUPINFO 是记录新进程的一些窗口信息,具体的数据结构,请参看http://blog.sina.com.cn/s/blog_5cec38f30100balh.html。
PROCESS_INFORMATION 是记录新进程的标志信息,如ID,句柄等,具体定义如下:
typedef struct _PROCESS_INFORMATION { HANDLE hProcess; // 进程句柄 HANDLE hThread; // 线程句柄 DWORD dwProcessId; // 进程ID DWORD dwThreadId; // 线程ID } PROCESS_INFORMATION, *LPPROCESS_INFORMATION;
文章评论(0条评论)
登录后参与讨论