C++调用可执行程序


1.WinExeC

WinExec(strPath.c_str(), SW_SHOW) ;

关闭:

HWND dc = FindWindow(0, "无标题 - 记事本 ");
  CloseWindow(dc); 
如果不行的话,按ctr+del+alt看记事本的标题是什么??改了它

2.

HINSTANCE ShellExecute(HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd);

下面是影藏打开 www.88181.com,然后关闭

[cpp]
  1. //声明结构体   
  2. SHELLEXECUTEINFO ShExecInfo;  
  3. //创建   
  4. void CBaseDialogDlg::OnButton1()   
  5. {  
  6.     ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);  
  7.     ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS ;  
  8.     ShExecInfo.hwnd = NULL;  
  9.     ShExecInfo.lpVerb = NULL;  
  10.     ShExecInfo.lpFile = "calc.exe"//can be a file as well   
  11.     ShExecInfo.lpParameters = "";   
  12.     ShExecInfo.lpDirectory = NULL;  
  13.     ShExecInfo.nShow = SW_SHOW;  
  14.     ShExecInfo.hInstApp = NULL;   
  15.     ShellExecuteEx(&ShExecInfo);  
  16. }  
  17.   
  18. //关闭   
  19. void CBaseDialogDlg::OnButton2()   
  20. {  
  21.     if( ShExecInfo.hProcess != NULL)  
  22.     {  
  23.             TerminateProcess(ShExecInfo.hProcess,0);  
  24.         ShExecInfo.hProcess = NULL;  
  25.     }  
  26. }  

3.

CreateProcess

下面是用CreateProcess打开一个进程,然后关闭那个进程

[cpp]
  1. static   DWORD   dwProcessId=0;   //你启动的另一个程序的进程ID    
  2.  void   __fastcall   TForm1::Button1Click(TObject   *Sender)   
  3.  {   
  4.          STARTUPINFO   si;   
  5.          PROCESS_INFORMATION   pi;   
  6.   
  7.          memset(&si,   0,   sizeof(si));   
  8.          si.cb   =   sizeof(STARTUPINFO);   
  9.          if   (CreateProcess(NULL, "notepad.exe ",NULL,   
  10.                  NULL,FALSE,0,NULL,NULL,&si,&pi))   {   
  11.                  dwProcessId   =   pi.dwProcessId;   
  12.                  CloseHandle(pi.hProcess);   
  13.                  CloseHandle(pi.hThread);   
  14.          }   
  15.  }   
  16.   
  17.  void   __fastcall   TForm1::Button2Click(TObject   *Sender)   
  18.  {   
  19.          HANDLE   hProcess;   
  20.   
  21.          hProcess   =   OpenProcess(PROCESS_ALL_ACCESS,   
  22.                  FALSE,   dwProcessId);   
  23.          if   (hProcess   !=   NULL)   {   
  24.                  TerminateProcess(hProcess,   0);   
  25.                  CloseHandle(hProcess);   
  26.          }   
  27.  }  
  • 1
  • 2
  • 下一页

相关内容