当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

 ·谁有asp测速程序    »显示摘要«
    摘要: 如题... ......
 ·如何进行多字段查询,用table    »显示摘要«
    摘要: 如何进行多字段查询,用table ......


在vc中,调用一个exe文件使用什么函数,关闭又是使用什么函数

急问,大家帮帮忙!!!!

NO.1   作者: lshadow

Q:   如何打开一个应用程序?  
  ShellExecute(this->m_hWnd,"open","calc.exe","","",   SW_SHOW   );  
  或  
  ShellExecute(this->m_hWnd,"open","notepad.exe",  
          "c:\\MyLog.log","",SW_SHOW   );  
  As   you   can   see,   I   havent   passed   the   full   path   of   the   programs.    
     
  Q:   如何打开一个同系统程序相关连的文档?  
  ShellExecute(this->m_hWnd,"open",  
          "c:\\abc.txt","","",SW_SHOW   );  
     
  Q:   如何打开一个网页?  
  ShellExecute(this->m_hWnd,"open",  
          "http://www.google.com","","",   SW_SHOW   );  
     
  Q:   如何激活相关程序,发送EMAIL?  
  ShellExecute(this->m_hWnd,"open",  
          "mailto:nishinapp@yahoo.com","","",   SW_SHOW   );  
     
  Q:   如何用系统打印机打印文档?  
  ShellExecute(this->m_hWnd,"print",  
          "c:\\abc.txt","","",   SW_HIDE);  
     
  Q:   如何用系统查找功能来查找指定文件?  
  ShellExecute(m_hWnd,"find","d:\\nish",  
          NULL,NULL,SW_SHOW);  
     
  Q:   如何启动一个程序,直到它运行结束?  
  SHELLEXECUTEINFO   ShExecInfo   =   {0};  
  ShExecInfo.cbSize   =   sizeof(SHELLEXECUTEINFO);  
  ShExecInfo.fMask   =   SEE_MASK_NOCLOSEPROCESS;  
  ShExecInfo.hwnd   =   NULL;  
  ShExecInfo.lpVerb   =   NULL;  
  ShExecInfo.lpFile   =   "c:\\MyProgram.exe";                            
  ShExecInfo.lpParameters   =   "";            
  ShExecInfo.lpDirectory   =   NULL;  
  ShExecInfo.nShow   =   SW_SHOW;  
  ShExecInfo.hInstApp   =   NULL;                
  ShellExecuteEx(&ShExecInfo);  
  WaitForSingleObject(ShExecInfo.hProcess,INFINITE);  
  或:  
  PROCESS_INFORMATION   ProcessInfo;    
  STARTUPINFO   StartupInfo;   //This   is   an   [in]   parameter  
  ZeroMemory(&StartupInfo,   sizeof(StartupInfo));  
  StartupInfo.cb   =   sizeof   StartupInfo   ;   //Only   compulsory   field  
  if(CreateProcess("c:\\winnt\\notepad.exe",   NULL,    
          NULL,NULL,FALSE,0,NULL,  
          NULL,&StartupInfo,&ProcessInfo))  
  {    
          WaitForSingleObject(ProcessInfo.hProcess,INFINITE);  
          CloseHandle(ProcessInfo.hThread);  
          CloseHandle(ProcessInfo.hProcess);  
  }      
  else  
  {  
          MessageBox("The   process   could   not   be   started...");  
  }  
     
     
  Q:   如何显示文件或文件夹的属性?  
  SHELLEXECUTEINFO   ShExecInfo   ={0};  
  ShExecInfo.cbSize   =   sizeof(SHELLEXECUTEINFO);  
  ShExecInfo.fMask   =   SEE_MASK_INVOKEIDLIST   ;  
  ShExecInfo.hwnd   =   NULL;  
  ShExecInfo.lpVerb   =   "properties";  
  ShExecInfo.lpFile   =   "c:\\";   //can   be   a   file   as   well  
  ShExecInfo.lpParameters   =   "";    
  ShExecInfo.lpDirectory   =   NULL;  
  ShExecInfo.nShow   =   SW_SHOW;  
  ShExecInfo.hInstApp   =   NULL;    
  ShellExecuteEx(&ShExecInfo);

NO.2   作者: sbw

如果执行EXE文件使用WINEXEC,SHELLEXECUTE它们的坏处是无法进行后续的控制,如果要关闭的话使用FINDWINDOW然后发送关闭消息也能达到你的要求,但最好的方法是使用CREATEPROCESS来创建进程。等需要结束时调用TERNINATEPROCESS强制结束进程。

NO.3   作者: zhucde

那你需要用定时器,  
  在某一个时刻触发事件.  
  关闭时用该程序的句柄来关闭.  
  可以用FindWindow()来找到其句柄   ,  
 

NO.4   作者: ruihuahan

我目前需要定时的打开一个exe文件,执行一段时间后强行关闭它,该怎么做呢?  
  打开.exe程序:CreateProcess(...);  
  用CreateProcess返回的进程句柄关闭被打开的进程:TeminateProcess(...)。  
  具体内容请参考MSDN。

NO.5   作者: flinming

ShellExecute


 ·关于vb的帮助文件    »显示摘要«
    摘要: vb下的帮助文件是用什么制作的呢?我原来曾做过的,可是现在怎么也想不起来了, 只记得是有一个专门的制作程序,请知道的大侠略指点一二!!! ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE