可以设置.NET OpenFileDialog以允许用户选择.lnk文件
我想显示一个允许用户选择快捷方式(.lnk)文件的对话框。 我的问题是对话框尝试获取快捷方式指向的文件/ URL,而不是.lnk文件本身。
如何让它允许选择.lnk文件?
您可以使用OpenFileDialog.DereferenceLinks
属性来影响该行为( 请参阅doc )。
var dlg = new OpenFileDialog(); dlg.FileName = null; dlg.DereferenceLinks = false; if (dlg.ShowDialog() == DialogResult.OK) { this.label1.Text = dlg.FileName; }
要么
var dlg = new OpenFileDialog(); dlg.FileName = null; this.openFileDialog1.Filter = "Link (*.lnk)|*.lnk"; if (dlg.ShowDialog() == DialogResult.OK) { this.label1.Text = dlg.FileName;
两种方法都会生成.lnk
文件,但第一种方法允许选择.lnk
文件或普通文件,而第二种方法只选择.lnk
文件。
以下代码为我返回了一个.lnk文件名
public static string PromptForOpenFilename (Control parent) { OpenFileDialog dlg = new OpenFileDialog (); dlg.Filter = "Link (*.lnk)|*.lnk"; dlg.Multiselect = false; dlg.FileName = null; DialogResult res; if (null != parent) res = dlg.ShowDialog (parent); else res = dlg.ShowDialog (); if (DialogResult.OK == res) return dlg.FileName; return null; }