2011-10-19 135 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