`

VB.NET创建快捷方式和读取快捷方式的类

 
阅读更多

http://blog.csdn.net/icsoft/archive/2007/11/22/1898297.aspx


Imports IWshRuntimeLibrary '引用:Windows Script Host Object Model
Public Class LnkFileClass
Public Sub New()
End Sub
Public Function GetLnkFileInfo(ByVal LnkFilePath As String) As String
Dim iPos As Integer
iPos = LnkFilePath.LastIndexOf(".")
Dim tmp As String
tmp = LnkFilePath.Substring(iPos + 1)
If tmp.ToLower <> "lnk" Then
Return ""
End If
Try
Dim f As New IWshShell_Class
Dim Lnk As IWshShortcut
Lnk = CType(f.CreateShortcut(LnkFilePath), IWshShortcut)
f = Nothing
Return Lnk.TargetPath
Catch ex As Exception
Return ""
End Try
End Function
Public Function CreatLnkFile(ByVal lnkFile As String, ByVal ExeFilePath As String, ByVal iDescription As String) As Boolean
Try
If Not IO.Directory.Exists(ExeFilePath) Then
Dim retVal As DialogResult = MsgBox(ExeFilePath & " 目标文件不存在,你还要创造它吗?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo)
If retVal = Windows.Forms.DialogResult.Yes Then
IO.Directory.CreateDirectory(ExeFilePath)
Else
Return False
End If
End If
Dim iconNumber As Integer = 0
Dim CreatDir As String = System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
Dim wShell As New IWshShell_Class
Dim shortCut As IWshRuntimeLibrary.IWshShortcut
shortCut = CType(wShell.CreateShortcut(CreatDir & "/" & lnkFile & ".lnk"), IWshShortcut)
shortCut.TargetPath = ExeFilePath
shortCut.WindowStyle = 1
shortCut.Description = iDescription
shortCut.WorkingDirectory = ""
shortCut.IconLocation = ExeFilePath & ", " & iconNumber
shortCut.Save()
wShell = Nothing
Return True
Catch ex As System.Exception
Return False
End Try
End Function
End Class

通过字节搜索获得路径也不慢么:

Public Class LnkFileExePath
Private m_Stream As FileStream
Private m_Reader As BinaryReader
Public Sub New()
End Sub
Public Function GetLnkFileInfo(ByVal LnkFile As String) As String
GetLnkFileInfo = ""
Dim tmp As String = ""
Dim i As Integer = 0
Dim iFilePath As String = ""
Dim iPos As Integer = 0
Dim n As Integer = 0
Try
m_Stream = New FileStream(LnkFile, FileMode.Open, FileAccess.Read)
m_Reader = New BinaryReader(m_Stream)
Catch ex As Exception
Return ""
End Try
Try
Dim k As Integer = m_Reader.BaseStream.Length
For i = 260 To k
m_Reader.BaseStream.Seek(i, SeekOrigin.Begin)
iFilePath = Nextchars(1024, m_Reader)
If iFilePath.Substring(1, 2) = ":/" Then
iFilePath = iFilePath.Substring(0, InStr(iFilePath, Chr(0)) - 1)
If iFilePath.Length > 5 Then
If iFilePath.Substring(iFilePath.Length - 4) = ".exe" Then
m_Reader.Close()
m_Stream.Close()
Debug.WriteLine(i & " " & iFilePath)
Return iFilePath
End If
End If
End If
Next
Catch ex As Exception
m_Reader.Close()
m_Stream.Close()
Return ""
End Try
m_Reader.Close()
m_Stream.Close()
Return ""
End Function
Private Function Nextchars(ByVal Num As Integer, ByVal reader As BinaryReader) As String
Dim ch() As Byte
ReDim ch(Num - 1)
reader.Read(ch, 0, ch.Length)
Return Encoding.Default.GetString(ch, 0, ch.Length)
End Function
End Class
分享到:
评论

相关推荐

    vb.net读取快捷方式

    总结来说,VB.NET中读取快捷方式文件的路径涉及的主要知识点有:导入`Shell32`命名空间,使用`ShellLinkObject`类解析快捷方式,以及通过`Target.Path`属性获取目标文件路径。理解并掌握这些内容,有助于开发者更...

    VB.NET-ico图标转换.zip

    在.NET框架中,VB.NET(Visual Basic .NET)是一种面向对象的编程语言,它提供了丰富的功能和工具,用于创建各种类型的Windows应用程序。本资源“VB.NET-ico图标转换.zip”包含了一个VB.NET项目的源代码,专门用于...

    vb.net获取文件的各种属性

    - 创建文件的快捷方式:`FileInfo.CreateShortcut(targetPath)` - 删除文件:`fileInfo.Delete()` 4. 使用DirectoryInfo类获取目录属性: 如果需要获取目录的信息,可以使用DirectoryInfo类,其工作原理与...

    图片Exif信息编辑【vb.net】

    在VB.NET中,可以使用`System.Drawing.Imaging`命名空间下的`PropertyItem`类来读取和修改Exif信息。但这个类只能处理基本的Exif属性,对于更复杂的Exif数据,如GPS坐标、MakerNotes等,可能需要第三方库,例如...

    VB.NET控件应用编程实例教程

    数据网格视图允许显示和编辑表格数据,工具栏和菜单栏则提供了快捷方式和下拉菜单,增强了用户体验。理解如何与数据库交互并在数据网格视图中展示数据,是VB.NET开发中不可或缺的一部分。 此外,VB.NET还支持自定义...

    系统进程扫描管理 For VB.NET 2008

    通过`System.Diagnostics.Process`类,VB.NET可以获取这些信息,如`Process.GetProcesses()`方法可以获取所有运行的进程,`Process.PriorityClass`属性可以读取或设置进程的优先级。 5. **进程优先级**: 可以修改...

    VB.NET操作注册表示例源码.rar

    这个"VB.NET操作注册表示例-取消桌面快捷方式小箭头"的示例源码着重展示了如何利用VB.NET修改注册表来控制桌面快捷方式的显示效果。在Windows系统中,桌面快捷方式通常会有一个小箭头图标来标识,但有时用户可能希望...

    vb.net项目源码程序:学生成绩管理系统

    总结来说,VB.NET项目源码程序——学生成绩管理系统是一个综合运用VB.NET编程、数据库设计、面向对象编程、用户界面设计等多方面技术的实例,对于学习和提升VB.NET开发技能具有很高的参考价值。通过深入研究和实践,...

    单机版餐饮服务系统 vb.net

    VB.NET在开发这样的系统时,利用其面向对象的特性,可以创建清晰的类结构,如Menu类、Order类、Customer类等。同时,VB.NET与SQL Server数据库的集成使得数据操作更加便捷,通过ADO.NET库可以轻松实现CRUD(创建、...

    图书管理系统 vb.net2005

    这个系统为图书馆工作人员提供了方便快捷的方式来记录、查找和管理图书资料,同时也能帮助读者轻松地借阅和归还图书。 在VB.NET 2005环境下,开发图书管理系统涉及到以下几个核心知识点: 1. **数据库设计**:图书...

    登录电脑自动为应用系统创建快捷方式

    在IT行业中,自动创建快捷方式是一项实用的功能,尤其对于经常使用的应用系统,它可以极大地提高工作效率。这个场景下,用户在登录电脑后,系统能够自动为特定的应用程序或网页链接创建桌面快捷方式,使得用户无需...

    vb_vb[1].net进行串口编程

    - **异步读写**:通过创建线程来处理异步读取和发送操作,提高程序的响应速度。 - **错误处理**:通过异常捕获机制来处理可能出现的各种错误,确保程序稳定运行。 #### 应用场景与案例分析 1. **智能家居控制...

    Spire.BarCode-for-.NET-1.4.zip

    Spire.BarCode是一款专为.NET框架设计的二维码生成库,它允许开发者在各种.NET应用程序中轻松地创建和读取二维码。这款工具具有高效性、易用性和灵活性的特点,广泛应用于物流、电商、票务等领域,使得数据编码和...

    获取LNK文件的源目标路径的软件源码

    首先,创建一个`Shell.Application`实例,然后使用`NameSpace`方法打开LNK文件所在的文件夹,再用`Items`方法获取该文件,最后调用`GetSpecialFolderItem`获取快捷方式的属性。 ```vb Dim shell As Object Set ...

    OPC client VB源代码

    压缩包中的“去淘宝网看看吧.url”可能是一个快捷方式文件,指向一个网页,可能与购买OPC相关的产品或服务有关。而“opc+odbc”可能是指OPC与ODBC(Open Database Connectivity)的结合,表明源代码可能还涉及将OPC...

    创建Internet快捷方式小工具(WinForm)

    3. **文件操作**:为了创建快捷方式,程序可能使用了`System.IO.FileStream`类来写入`.url`文件,文件内容通常包括一个 `[InternetShortcut]` 的标识和 `URL=` 后跟随的网址。 4. **元数据写入**:`.url` 文件本质...

    QQShortcut 源文件

    在VB.net中,可以使用Shell32库来创建快捷方式,指定目标程序的位置、图标以及其他属性。QQShortcut源文件应该详细展示了如何利用VB.net来创建指向QQ或其他相关应用程序的快捷方式,这对于提升用户体验有着直接影响...

    VB 虚拟光驱示例源码

    1. `icon.ico`:这是程序的图标文件,用于在桌面快捷方式或任务栏中显示应用程序的图标。 2. `MSSCCPRJ.SCC`:这是源代码控制项目的文件,通常与Visual SourceSafe等版本控制系统相关联,用于管理源代码的版本和变更...

    开机自动启动vb2005

    程序的核心代码可能涉及到读取注册表键值、写入注册表或在启动目录创建快捷方式等操作。 3. **注册表操作**: - **HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run**:在用户的注册表项下,添加...

    vb跟随Windows一起启动的控件

    VB代码可以创建这个快捷方式,并将其放到启动文件夹中。 3. **计划任务**:使用Windows的任务计划程序,VB程序可以设置一个任务在系统启动时执行。这需要调用`Task Scheduler`的相关API或使用`System.Threading....

Global site tag (gtag.js) - Google Analytics