在Windows中,无论是在桌面上还是在Windows资源管理器中,我都希望检测选择(突出显示)文件或文件夹的时刻。当发生这种情况时,我想显示一个显示文件或文件夹全名的消息框。
如果选择了多个项目,我想显示所有项目。
请注意,我的解决方案必须用C#编写。
答案 0 :(得分:4)
查看此示例以获取鼠标单击或选定的事件:
使用以下代码加入,请记住添加对SHDocVW.dll和Shell32.dll的引用,这将返回每个资源管理器中的所有选定项目和文件夹路径。
public void GetListOfSelectedFilesAndFolderOfWindowsExplorer()
{
string filename;
ArrayList selected = new ArrayList();
var shell = new Shell32.Shell();
//For each explorer
foreach (SHDocVw.InternetExplorer window in new SHDocVw.ShellWindowsClass())
{
filename = Path.GetFileNameWithoutExtension(window.FullName).ToLower();
if (filename.ToLowerInvariant() == "explorer")
{
Shell32.FolderItems items = ((Shell32.IShellFolderViewDual2)window.Document).SelectedItems();
foreach (Shell32.FolderItem item in items)
{
MessageBox.Show(item.Path.ToString());
selected.Add(item.Path);
}
}
}
}
答案 1 :(得分:1)
只是在雷尼尔的回答中加入一些东西: