C# 如何在Windows资源管理器上单击文件时识别Windows应用程序上的文件名?

C# 如何在Windows资源管理器上单击文件时识别Windows应用程序上的文件名?,c#,windows,winforms,file,C#,Windows,Winforms,File,是否有任何方法可以获取用户使用C#Windows应用程序在Windows资源管理器上单击的文件详细信息 用户没有修改、重命名或对文件做任何操作,只需单击一个文件并在单击该文件时获取该文件的所有详细信息。例如,当用户单击任何文件时,在windows应用程序上触发一些事件。我不确定是否正确理解了您的问题,但这里有一个想法: 您可以构建一个windows应用程序,该应用程序由显示文件系统的树状视图组成(请参见此图)。然后用户可以在树视图中浏览不同的目录和文件。当他单击某个节点时,您可以在树视图旁边的标

是否有任何方法可以获取用户使用C#Windows应用程序在Windows资源管理器上单击的文件详细信息


用户没有修改、重命名或对文件做任何操作,只需单击一个文件并在单击该文件时获取该文件的所有详细信息。例如,当用户单击任何文件时,在windows应用程序上触发一些事件。

我不确定是否正确理解了您的问题,但这里有一个想法:
您可以构建一个windows应用程序,该应用程序由显示文件系统的树状视图组成(请参见此图)。然后用户可以在树视图中浏览不同的目录和文件。当他单击某个节点时,您可以在树视图旁边的标签中显示信息:

FileInfo fi1 = new FileInfo(pathOfTheClickedNode);
FileInfo fi = new FileInfo(path);
label1.Text = $"Filename: {fi.Name},\nLast Access Time: {fi.LastAccessTime},\nFile length: {fi.Length}";

在c#应用程序中使用等效文件对话框,而不是使用Windows资源管理器。@jdweng我希望在Windows资源管理器上单击文件名,而不使用任何用于加载文件和列表的控件。这是可能的,但为什么您关心用户是否选择了文件?如果您想尝试,使用UI自动化相对简单。它有一个问题:ListView(
DUIListView
,右侧的窗格)在每次视图更改或您在左侧窗格中选择文件夹(
SysTreeView32
)时都会被销毁。因此,当
DUIListView
不再是
Current
时,您需要处理许多要通知的事件:它无法缓存,需要不断更新。除了这个细节,它工作得还不错。文件将在Windows资源管理器上单击,而不是在Windows应用程序的任何控件上单击。