CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

在VB中怎样调用外程序?

楼主libra01(PassWorld.)2002-05-10 14:16:38 在 VB / 基础类 提问

高手求救:  
   
  需要在VB中调用外面已经编好的程序。  
  但我不知道该怎样做?  
   
  请高手指点谢谢。 问题点数:100、回复次数:10Top

1 楼water_j(随心所欲)回复于 2002-05-10 14:22:32 得分 10

api函数SHELLEXECUTE!Top

2 楼wxy_xiaoyu(猪是的看来过倒)回复于 2002-05-10 14:25:52 得分 10

使用SHELL函数,具体用法可以查msdn  
    Shell   App.path   ,3Top

3 楼txs()回复于 2002-05-10 14:27:14 得分 10

shellTop

4 楼badboy2002(木头人)回复于 2002-05-10 14:30:13 得分 10

Private   Sub   Command1_Click()  
  Shell   "E:\My   Documents\ff.exe",   vbNormalFocus  
  End   SubTop

5 楼softrain(曾经的月光,现在的日光)回复于 2002-05-10 14:37:08 得分 10

shell   "app.path"  
  有些程序有自己的文件类型  
  可以这样调用:  
  shell   "app.path   filename"Top

6 楼expertwjh(点不)回复于 2002-05-10 14:42:14 得分 0

shell   "app.path   filename"  
  Top

7 楼wwfang(晴天)回复于 2002-05-10 14:46:25 得分 20

用ShellExecute这个API函数:  
  Public   Declare   Function   ShellExecute   Lib   "shell32.dll"   Alias   "ShellExecuteA"   (ByVal   hwnd   As   Long,   ByVal   lpOperation   As   String,   ByVal   lpFile   As   String,   ByVal   lpParameters   As   String,   ByVal   lpDirectory   As   String,   ByVal   nShowCmd   As   Long)   As   Long  
  调用如下:  
  ShellExecute   Form1.hwnd,"open","完整的程序名称及路径","参数",0&,vbnormalfocus  
  注:第四个参数可以为0&Top

8 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2002-05-10 14:49:03 得分 30

方法有两个:  
  1.用VB自己的函数   SHELL  
          Call   Shell("C:\WINDOWS\NOTEPAD.EXE   d:\temp\0827.txt",   1)  
          这条语句的意思就是用目录C:\WINDOWS下的NOTEPAD.EXE   来打开  
          d:\temp\0827.txt这个文件。缺点是不能保证这个NOTEPAD.EXE  
          在任何机器上都存在,因此较好的做法是把NOTEPAD.EXE随同自己  
          的程序一起发布,这样就能万无一失。  
  2.用WINDOWS的函数   ShellExecute  
          这不是VB自带的函数,所以必须在程序里对这函数进行声明。  
          Public   Declare   Function   ShellExecute   Lib   "shell32.dll"   Alias  
              "ShellExecuteA"   (ByVal   hwnd   As   Long,   ByVal   lpOperation   As  
              String,   ByVal   lpFile   As   String,   ByVal   lpParameters   As  
              String,   ByVal   lpDirectory   As   String,   ByVal   nShowCmd   As  
              Long)   As   Long  
           
          ShellExecute(Me.hwnd,   vbNullString,   "d:\temp\0827.txt",    
          vbNullString,   vbNullString,   1)  
          这个函数并不关心文件被什么程序打开,如果WINDOWS中现在把.TXT的  
          文件和NOTEPAD.EXE关联,那自动就会用NOTEPAD.EXE来打开这个文本文  
          件,如果是和其他的文字处理程序关联的,就会用所关联的程序来打开  
          这个文件。  
          优点,比如当知道客户机器上一定安装了EXCEL这个软件,但并不知道  
          客户把它安装到哪儿了,这时候用第一种方法就力不从心了,而用这条  
          函数就显得极为方便。缺点,如果打开文件的格式和任何程序都没关联  
          起来,这时系统就不知道该如何打开它了。      
  Top

9 楼lihonggen0(李洪根,MS MVP,标准答案来了)回复于 2002-05-10 14:49:46 得分 0

方法有两个:  
  1.用VB自己的函数   SHELL  
          Call   Shell("C:\WINDOWS\NOTEPAD.EXE   d:\temp\0827.txt",   1)  
          这条语句的意思就是用目录C:\WINDOWS下的NOTEPAD.EXE   来打开  
          d:\temp\0827.txt这个文件。缺点是不能保证这个NOTEPAD.EXE  
          在任何机器上都存在,因此较好的做法是把NOTEPAD.EXE随同自己  
          的程序一起发布,这样就能万无一失。  
  2.用WINDOWS的函数   ShellExecute  
          这不是VB自带的函数,所以必须在程序里对这函数进行声明。  
          Public   Declare   Function   ShellExecute   Lib   "shell32.dll"   Alias  
              "ShellExecuteA"   (ByVal   hwnd   As   Long,   ByVal   lpOperation   As  
              String,   ByVal   lpFile   As   String,   ByVal   lpParameters   As  
              String,   ByVal   lpDirectory   As   String,   ByVal   nShowCmd   As  
              Long)   As   Long  
           
          ShellExecute(Me.hwnd,   vbNullString,   "d:\temp\0827.txt",    
          vbNullString,   vbNullString,   1)  
          这个函数并不关心文件被什么程序打开,如果WINDOWS中现在把.TXT的  
          文件和NOTEPAD.EXE关联,那自动就会用NOTEPAD.EXE来打开这个文本文  
          件,如果是和其他的文字处理程序关联的,就会用所关联的程序来打开  
          这个文件。  
          优点,比如当知道客户机器上一定安装了EXCEL这个软件,但并不知道  
          客户把它安装到哪儿了,这时候用第一种方法就力不从心了,而用这条  
          函数就显得极为方便。缺点,如果打开文件的格式和任何程序都没关联  
          起来,这时系统就不知道该如何打开它了。      
  Top

10 楼mjunn(小马)回复于 2002-05-10 14:53:30 得分 0

API的ShellExecute函数!Top

11 楼zyb_8022(紫光)回复于 2002-05-10 14:56:06 得分 0

学习Top

相关问题

  • VB怎样调用windows程序或命令
  • 请问怎样在VB程序中调用拨号连接?
  • 怎样在vb 中调用 windows 应用程序!
  • VB怎样调用系统的关机程序?
  • 请问怎样在VB中调用一个可执行程序?
  • vb程序怎样调用 ActiveX EXE 里的数组变量?
  • 怎样实现程序“调用”程序?
  • 如何在JAVA中调用VB程序
  • VB中调用shell程序(.bat)
  • 800里加急----怎样在vb程序中调用另外一个可执行程序(.exe文件)

关键词

  • 函数
  • vb
  • 文件
  • shell
  • 安装
  • 客户
  • 程序
  • notepad
  • shellexecute
  • 调用

得分解答快速导航

  • 帖主:libra01
  • water_j
  • wxy_xiaoyu
  • txs
  • badboy2002
  • softrain
  • wwfang
  • lihonggen0

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

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