前几天用VB2008给Freescale写一个反编译的软件,需要鼠标双击源文件时,用软件打开源文件.问题来了,怎样让软件接受此事件信息?想来想去,觉得只要让软件启动时接收到源文件的路径即可.可是我也是一个VB.NET的初学者,问题看是简单,对我来说,肯定不简单.就在网上搜索各种信息,但是可能是我人品问题,竟然一个类似的文章都没有,心灰意冷了.但是还是相信用VB.NET定能实现的.在坚持下,在图书馆看见了一本VB.NET书(书名忘了)上有一些关于System的介绍,看了半天,有一个GetCommandLineArgs()命令是专门用来接受系统信息的数组(英文:Returns a string array containing the command-line arguments for the current process).经过试验,发现当鼠标双击文件时,如果此文件类型有关联的软件,则向系统发送出软件的信息和文件的信息.只要我的软件接收到文件信息,就可以打开文件了.
代码如下:
Dim MyFileName As
String =""
'接受文件的地址
Dim CMD() As
String
'定义数组接受来自系统信息
Dim i As Integer
CMD = System.Environment.GetCommandLineArgs() '接受信息
i =
CMD.GetUpperBound(0)
'判断CMD内一维的子集个数
If i > 0
Then
'若多于2个,则第二个是文件地址
MyFileName
= CMD(1)
End If
只要在Form_Load事件中加入上面代码,就可以实现双击打开文件了.如果再加上判断:
If MyFileName <> ""
就可以识别在软件启动时,是用户双击文件所导致打开软件,还是用户直接打开软件了.
呵呵,这是我的原创内容!如果对您有用,请回复一个~也欢迎交流~