CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

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

楼主muxilql(好好工作,好好生活)2003-09-18 23:28:53 在 VC/MFC / 基础类 提问

急问,大家帮帮忙!!!! 问题点数:20、回复次数:8Top

1 楼lshadow(没车没房努力中。。。)回复于 2003-09-18 23:33:30 得分 4

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   haven't   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);Top

2 楼muxilql(好好工作,好好生活)回复于 2003-09-18 23:50:02 得分 0

我目前需要定时的打开一个exe文件,执行一段时间后强行关闭它,该怎么做呢?Top

3 楼sbw(清风一笑)回复于 2003-09-19 00:15:15 得分 4

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

4 楼zhucde(【風間苍月】★<==>★【虚拟闲人】)回复于 2003-09-19 00:52:26 得分 4

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

5 楼ruihuahan(飞不起来的笨鸟)回复于 2003-09-19 07:55:39 得分 4

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

6 楼flinming(flinming)回复于 2003-09-19 08:00:39 得分 4

ShellExecuteTop

7 楼flinming(flinming)回复于 2003-09-19 08:03:47 得分 0

应该从打开到到执行一段时间,可以搞一个定时器!到时间就自动关闭。。。。。Top

8 楼nuaawenlin(飘人)回复于 2003-09-19 10:54:08 得分 0

使用FindWindow()来找到其句柄   ,  
  然后发消息Top

相关问题

  • VC下调用API函数的问题.
  • ASM函数如何在VC中调用
  • 在VC里调用API函数
  • 怎样在VC内调用DDK函数
  • vc如何调用api函数
  • VC中如何调用MATLAP函数?
  • vc能不能调用flash的函数?
  • 如何用javascript调用VC++的函数?
  • 网页中调用VC函数问题
  • 函数调用

关键词

  • 文件
  • 执行
  • 系统
  • null
  • shexecinfo
  • shellexecute
  • 句柄
  • startupinfo
  • 关闭
  • sw

得分解答快速导航

  • 帖主:muxilql
  • lshadow
  • sbw
  • zhucde
  • ruihuahan
  • flinming

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo