2011-10-19 103 views
0

有没有在VB桌面上搜索文件(快捷方式文件)? 我已经试过: 如果My.Computer.FileSystem.FileExists( “桌面\ MYFILE.lnk”) 犯规返回任何检查在VB桌面上的文件

如果My.Computer.FileSystem.FileExists( “桌面\ MYFILE.exe”) 犯规返回任何

如果My.Computer.FileSystem.FileExists(Environment.SpecialFolder.Desktop \ MYFILE.lnk“) 犯规返回任何

如果My.Computer.FileSystem.FileExists(Environment.SpecialFolder.Desktop \ MYFILE.exe“) 不返回任何东西

我在Google上搜索过这个也找不到任何东西。

谢谢。

回答

0

除非你怀疑刚刚键入错误,原谅我的VB的技能,但它应该不会是:

> If My.Computer.FileSystem.FileExists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\MYFILE.lnk") 
> Then 
>  ' Do Something 
> End 

C#我会用:

if(System.IO.File.Exists(string.format("{0}{1}", Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop), @"\MYFILE.lnk"))) 
{ 
    // do something with file 
} 
+1

Environment.SpecialFolder.Desktop& “\ MYFILE.lnk” 返回 “0 \ MYFILE.lnk” .My.Computer.FileSystem.FileExists(Environment.SpecialFolder.Desktop& “\ MYFILE.lnk” )即使快捷方式存在也会返回False。需要使用@Yatrix建议的解决方案... System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop)&“\ MYFILE.lnk” –

+0

@Guru Josh - 是的你是对的,我写了这个因为SpecialFolder只是一个枚举我认为 – Wayne

0

你有没有尝试过这样的:

If My.Computer.FileSystem.FileExists(My.Computer.FileSystem.SpecialDirectories.Desktop & "\myfile.lnk") 

基本上我只是想知道如果你是确保你的字符串连接是正确的,并在必要时使用\。

+0

谢谢你的贡献,但是,这个问题已经有了答案,它已经有3年的历史了,发布时请尽量不要复活非常老的线程。 问候 – user959631

1
System.IO.File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) & "\MYFILE.exe") 
0
Public Function DesktopShortcutExists(ByVal sShortCutName As String) As Boolean 
    Dim sPublicPath As String = Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory) & "\" & sShortCutName & ".lnk" 
    Dim sUserPath As String = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) & "\" & sShortCutName & ".lnk" 
    Return File.Exists(sPublicPath) = True Or File.Exists(sUserPath) = True 
End Function