/*
DWORD WaitForSingleObject
(
HANDLE hHandle,
DWORD dwMilliseconds
)
第一个参数是事件的句柄,第二个参数dwMilliseconds是时间间隔,
如果事件是有信号状态返回WAIT_OBJECT_0,如果时间超过dwMilliseconds值
则返回WAIT_TIMEOUT。
BOOL CreateProcess(
LPCTSTR IpApplicationName,应用程序名称
LPCSTR LpCommandLine,命令行字符串
LPSECURITY_ATTRIBUTES IpProcessAttributes,进程的安全属性
LPSECURITY_ATTRIBUTES IPThreadAttributes,线程的安全属性
BOOL bInheritHandles,是否继承父进程的属性
LPVOID LpEnvironment,创建标识
LPCTSTR IpCurrentDirectory,指向新的环境块的指针
LPSTARTUPINFO IpStartupInfo,传递给新进程的信息
LPPROCESS_INFORMATION IpProcessInformation,新进程返回的信息
)
*/
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
#include <tlhelp32.h>
void Processaction();
//api所需要的两个结构体
STARTUPINFO s;
PROCESS_INFORMATION p;
void Processaction()
{
ZeroMemory(&s, sizeof(STARTUPINFO));//初始化
ZeroMemory(&p, sizeof(PROCESS_INFORMATION));//初始化
s.cb = sizeof(s);
TCHAR filename[256] = "C:\\Windows\\System32\\notepad.exe";
if(!CreateProcess(NULL,filename,NULL,NULL,FALSE,0,NULL,NULL,&s,&p))
{
printf("failed");
}
WaitForSingleObject(p.hProcess,INFINITE);//等待进程
CloseHandle(p.hProcess);
}
int main()
{
while(1)
{
Processaction();
}
return 0;
}
WaitForSingleObject CreateProcess
最新推荐文章于 2022-10-30 23:16:12 发布