千家信息网

VB.NET中Process的属性与对象怎么用

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,这篇文章主要介绍VB.NET中Process的属性与对象怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!你再也不需要使用Win32应用编程接口或者VB的Shell函数来启动
千家信息网最后更新 2025年01月16日VB.NET中Process的属性与对象怎么用

这篇文章主要介绍VB.NET中Process的属性与对象怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

你再也不需要使用Win32应用编程接口或者VB的Shell函数来启动外部应用程序了。因为你可以使用.NET框架中的System.Diagnostics.Process类来进行这个操作,从而进一步简化代码。

虽然.NET使很多事情变得更加复杂,但是启动外部应用程序不在此列。在传统VB程序中,你可以使用Shell函数启动一个应用程序。当你传送一个数据文件名的时候,VB在相应应用程序中打开这个数据文件。你可以使用一个任选的Windowstyle参数控制所启动的应用程序的窗口方式。例如,在VB6中,下面这行代码将启动默认的文本编辑器(通常是记事本)并打开文件"c:\somepath\somefile.txt":

returnID = Shell("c:\somepath\somefile.txt", vbNormalFocus)

通过Microsoft.VisualBasic.Comaptibility域名空间,在VB.NET中仍然能够使用Shell功能,并且它已经被做了一些改动,但在.NET框架中它并不是启动应用程序的***的方法,因为Shell函数有一些严格的限制条件,其中之一就是只能异步地启动程序;在启动应用程序之后,你自己的程序才继续运行。所以你不能直接使用它来启动一个程序,并且只能等到这个程序退出,你才能返回到你自己的程序中。为了在传统 VB中做到这点,你必须求助于Windows API,而这需要对窗口句柄、过程识别号、枚举***级窗口等有所了解。

使用.NET,就能使这个操作变得很简单。你可以使用System.Diagnostics域名空间中的VB.NET Process类来启动外部程序。你可以简单的使用共享的Process.Start方法启动一个新的过程,把一个可执行文件名或者可执行应用程序的扩展关联文件名作为参数传输给它。例如,下面的代码启动"c:\somepath\somefile.txt"文件。

System.Diagnostics.Process.Start ("c:\somepath\somefile.txt")

Start方法有一个超载的版本,能返回一个VB.NET Process对象,所以你可以获得对启动的过程的引用,并可用于多种用途:

Dim myProcess As Process = System.Diagnostics.Process.Start  ("c:\somepath\somefile.txt")  MessageBox.Show(myProcess.ProcessName)

初看起来,你看上去好象丧失了控制窗口风格的能力(还记得Shell函数的第二个参数吗?),但是事实情况并非如此。在很多情况下,你不需要明确地设置窗口风格,因为默认情况是在一个带有焦点的正常窗口(ProcessWindowStyle.Normal)中启动过程。但是如果你想使用一个不同的窗口风格时,可以使用超载的Process.Start方法接收一个ProcessStartInfo对象参数而不是一个简单的字符串。为了使用它,首先要创建一个ProcessStartInfo对象,然后设置进程初置值。两个超载方法让你设置一个文件名或者一个文件名和一组命令行参数。并且 ProcessStartInfo对象还有一个WindowStyle属性,由 System.Diagnostics.Process.WindowStyle枚举的值组成。所以你可以调用Process.Start方法并传送一个 ProcessStartInfo对象来控制启动的窗口的风格。

Dim psInfo As New _  System.Diagnostics.ProcessStartInfo _  ("c:\somepath\somefile.txt")  psInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal  Dim myProcess As Process = _ System.Diagnostics.Process.Start(psInfo)

由于VB.NET Process类有一个StartInfo属性,它是一个ProcessStartInfo对象,所以另一种产生相同结果的方法是创建一个 Process对象并设置它的StartInfo属性。在预创建的Process对象的时候,你可以仅仅调用它的Start方法,而不需使用 Process类的共享Start方法。

Dim myProcess As System.Diagnostics.Process = _ new System.Diagnostics.Process()  myProcess.StartInfo.FileName = _ "c:\somepath\somefile.txt"  myProcess.StartInfo.WindowStyle = _ System.Diagnostics.ProcessWindowStyle.Normal  myProcess.Start

在设计期间设置Process参数

.NET框架出厂时已经带有在设计期间封装这些代码的VB.NET Process组件。你可以在工具栏的Components栏目中找到它。为了使用它,把一个Process组件拖到你的窗体上,然后在属性窗口展开StartInfo属性,如下图所示设置StartInfo的值。

你可以添加一个Process组件到一个窗体中,让你在设计期间设置属性而不是在运行期间设置属性。

以上是"VB.NET中Process的属性与对象怎么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

程序 对象 属性 方法 应用 应用程序 文件 参数 文件名 代码 函数 过程 风格 情况 框架 组件 控制 设计 传统 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 搭建红警联机服务器 美版的手机连接不上服务器怎么办 农业数据库概念分类 河北数据库空投箱批量定制 第六届网络安全周图片 个人软件开发做什么科目 基岩服务器生存视频 数据库数据复制链接 专家模型软件开发步骤 电子邮件服务器是什么 辽宁的服务器有哪些云空间 输入网络安全密钥s是输入什么 ftp服务器不能远程登录 苹果软件开发入门书籍 东莞物联网软件开发有哪些 我的世界梦想世界服务器赚钱攻略 数据库定义两个主码 孝感串口服务器价格 vb指针回到数据库原位置 网络安全木马病毒主题班会教案 新浪服务器保存删除的微博 软件开发报价组成 server架设激活服务器 广受好评的esg数据库 基岩服务器生存视频 学生宿舍数据库 代码 怎么创建公司服务器进入快捷方式 济南领信软件开发公司 打开管理服务器窗口 华为网络技术面试题解析
0