这个问题可以用注册表解决。
目前创新互联公司已为1000多家的企业提供了网站建设、域名、虚拟主机、网站托管、服务器租用、企业网站设计、于洪网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
Function getOpenCommand(fileExt As String) as String
Dim fileType as String, openCommand as String
fileExt = "." + fileExt
'取得文件扩展名在注册表里的文件类型名称
'比如.zip的类型名称一般是zipfile
fileType = 读取注册表的classes_root下的子键(fileExt)的默认键值
'取得打开这种文件的程序
openCommand = 读取注册表的classes_root下的子键(fileType + "\shell\open\command")的默认键值
Return getOpenCommand
End Function
读取注册表的HKEY_CLASSES_ROOT下的子键的默认键值的方法可以在网上搜索到。
这样getOpenCommand("doc")就可以得到一个字符串(包括引号):
"C:\Program Files\Word\word.exe" "%1"
这里只需要用Spilt函数把C:\Program Files\Word\word.exe分离出来就好了
判断和创建可以放在一起。
创建空文件夹:
Directory.CreateDirectory(文件夹完整路径)
'系统会自动判断文件夹是否存在,不存在就创建判断并创建空文件:
Using fs As New FileStream("f.txt", FileMode.OpenOrCreate)
'你可以用这个FileStream做其它事情
End Using
脱离具体的环境谈并没有任何意义,所以如果当前电脑上存在此文件就是文件,存在此文件夹则为文件夹,否则什么也不是。
'Imports System.IO
Dim s As String = "C:\1.txt"
If File.Exists(s) Then
MessageBox.Show("文件")
ElseIf Directory.Exists(s) Then
MessageBox.Show("路径")
Else
MessageBox.Show("什么都不是")
End If