怎样用API执行可执行文件(三种方法)

来源:互联网 发布:sql注入预防 编辑:程序博客网 时间:2024/06/05 00:16

第一种方法,利用ShellExecute,这种方法比较常用,还可以用此来打开普通的文档等等

打印文档,打开指定的网页等等例如:

ShellExecute(0,"Open","c://mywordfile.doc","","",0)

ShellExecute(0,"Open"http://www.sina.com.cn",0,0,1);

ShellExecute(0,"Print","c://a.txt",0,0,1);

在VC++里面

void CForliu2Dlg::OnShellExecute()
{
 
   ShellExecute(GetSafeHwnd(),"Open","calc.exe",0,0,1); 
}

第二种方法:用WinExec,较为简单

void CForliu2Dlg::OnWinExec()
{
   WinExec("Calc.exe",1); 
}

第三种方法:用CreateProcess,灵活性较大

void CForliu2Dlg::OnCreateProcess()
{
 STARTUPINFO si;
 PROCESS_INFORMATION pi;
 ZeroMemory(&si,sizeof(si));
 si.cb=sizeof(si);
 ZeroMemory(&pi,sizeof(pi));
    CreateProcess(NULL,"calc.exe",NULL,NULL,false,0,NULL,NULL,&si,&pi);
    WaitForSingleObject(pi.hProcess,INFINITE);
 CloseHandle(pi.hProcess);
 CloseHandle(pi.hThread);
}