在VB.NET中寻找App

来源:互联网 发布:飞扬物流软件 编辑:程序博客网 时间:2024/04/28 09:52
摘要

使用过Visual Basic 6的开发人员几乎都使用过App这个对象,它的功能强大人所共知,那么Visual Basic .NET中是否也有类似的对象呢?下面将会进一步说明。


--------------------------------------------------------------------------------

目录

1. App简介

2. 在VB.NET寻找类似功能

3. 简单示例

4. 小结


--------------------------------------------------------------------------------

1. App简介

在Visual Basic 6中,App是一个全局对象可以直接通过App关键字来访问。App对象可以得到当前应用的标题、版本、路径、执行文件名等信息,同时可以用于判断应用的前一个实例是否运行。App对象在VB.NET中已经不存在了,但是我们仍然能从VB.NET中使用其它的对象获得App的相同功能。


--------------------------------------------------------------------------------

2. 在VB.NET寻找类似功能

原Visual Basic 6 中App的Comments属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).Comments属性

原Visual Basic 6 中App的CompanyName属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).CompanyName属性

原Visual Basic 6 中App的EXEName属性类似Visual Basic .NET 中的VB6.GetEXEName属性

原Visual Basic 6 中App的FileDescription属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileDescription属性

原Visual Basic 6 中App的HelpFile属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的HInstance属性类似Visual Basic .NET 中的VB6.GetHInstance属性

原Visual Basic 6 中App的LegalCopyright属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).LegalCopyright属性

原Visual Basic 6 中App的LegalTrademarks属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).LegalTrademarks属性

原Visual Basic 6 中App的LogEvent方法在Visual Basic .NET 中无类似方法

原Visual Basic 6 中App的LogMode属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的LogPath属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的Major属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).FileMajorPart属性

原Visual Basic 6 中App的Minor属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.- Location).FileMinorPart属性

原Visual Basic 6 中App的NonModalAllowed属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleRequestPendingMsgText属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleRequestPendingMsgTitle属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleRequestPendingTimeout属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleServerBusyMsgText属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleServerBusyMsgTitle属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleServerBusyRaiseError属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的OleServerBusyTimeout属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的Path属性类似Visual Basic .NET 中的VB6.GetPath属性

原Visual Basic 6 中App的PrevInstance属性类似Visual Basic .NET 中的UBound(Diagnostics.Process.GetProcessesByName(Diagnostics.Process.GetCurrentProcess.ProcessName)) > 0表达式

原Visual Basic 6 中App的ProductName属性类似Visual Basic .NET 中的System.Diagnostics.FileVersionInfo.GetVersionInfo(System.Reflection.Assembly.GetExecutingAssembly.Location).ProductName属性

原Visual Basic 6 中App的RetainedProject属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的Revision属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的StartLogging方法在Visual Basic .NET 中无类似方法

原Visual Basic 6 中App的StartMode属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的TaskVisible属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的ThreadID属性在Visual Basic .NET 中无类似属性

原Visual Basic 6 中App的Title属性类似Visual Basic .NET 中的System.Reflection.Assembly.GetExecutingAssembly.GetName.Name属性

原Visual Basic 6 中App的UnattendedApp属性在Visual Basic .NET 中无类似属性


--------------------------------------------------------------------------------

3. 简单示例

这里以得到当前应用的路径为示例,首先要引用VisualBasic.Compatibility名称空间,单击主菜单"工程"中的"引用"项,并选择"Microsoft Visual Basic .NET Compatibility Runtime"




此时在工程列表的引用中就会出现Microsoft.VisualBasic.Compatibility名称空间了




在新的控制台工程中输入代码


Imports Microsoft.VisualBasic.Compatibility

Module Module1
    Sub Main()
        Console.WriteLine(VB6.GetPath)
    End Sub
End Module


得到的结果仍然和使用VB6的App.path的结果是一样的。


--------------------------------------------------------------------------------

4. 小结

VB6的程序员有了这些和App类似的属性或方法,就可以很轻松的应用在.NET中了。


--------------------------------------------------------------------------------


作者:孟庆臣
 
原创粉丝点击