我想在4年前的Copying file details from Explorer as tabular text帖子中使用Denis Anisimov回答添加文件资源管理器上下文菜单DLL处理程序。具体来说,从Denis的zip文件下载,我想在某处复制他的64位DLL并将我的注册表连接到它。遗憾的是,Denis的单一注册表引用是HKCR \ AllFilesystemObjects,这让我很难过。
对于Windows 10,HKCR \ AllFilesystemObjects是否仍然适用?我看到*通配符和特定文件扩展名的条目。
如果是这样,为了简化使用,我想将我的Context菜单项仅限于Image files,复制到“Copy Image Details”。
这是否意味着我必须添加到所有图像文件扩展名,.jpg,.png,.gif等等?当然,选择shell或shellex,添加键,输入菜单文本和连接到DLL应该很容易。
但我找不到完整的答案。我发现许多不完整的但不完整的例子具有明显不同的密钥。我不想一起破解他们。
答案 0 :(得分:0)
可能没有帮助,也许你已经解决了这个问题。我注意到你有2x系统上下文菜单选项,你可以通过注册表或DLL库添加项目,当我找到你的帖子时,我正在搜索更多信息,因为我试图找出使用它们的利弊方法
对我来说这似乎很乱,可能与旧版本的Windows有关。
答案 1 :(得分:0)
经过一番翻找后,我发现了这些陈旧但资源丰富的资源搜索。
•Google“代码项目白痴指南编写shell扩展处理程序”
•Youtube“shell扩展处理程序”
然而,我放弃了,而是编写了以下简单的vb.net实用程序。是的,您可以根据文件夹和文件进行定制,但是您可以轻松地深入查看数字文件属性。
Imports System.IO
Imports System.Collections.Generic
Imports System.Collections.ObjectModel
Imports System.Drawing
Module ShapesModule
Sub Main()
Dim SearchKind As SearchOption = SearchOption.TopDirectoryOnly
Dim DRGW_StationFolders As ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetDirectories("C:\Users\Dave Owens\!! D&RGW NarrowGauge IMAGES Maps !!")
Dim LogFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\Dave Owens\DRGW PixDimensions\Logs\Jpegs Analysis.log", True)
For Each folder As String In DRGW_StationFolders
If folder.Contains("mp") Then
Dim ImageFiles As ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(folder, FileIO.SearchOption.SearchTopLevelOnly, "*.jpg")
If ImageFiles.Count > 0 Then
For Each JpegFile As String In ImageFiles
Dim bmp As New Bitmap(JpegFile.ToString())
Dim AspectRatio As Double = bmp.Width / bmp.Height
Dim ImageInfo As New FileInfo(JpegFile.ToString())
LogFile.WriteLine("{0,-24} | W={1,-12} | H={2,-10} | AspRat={3, -10})", ImageInfo.Name, bmp.Width, bmp.Height, Math.Round(AspectRatio, 4))
Next
End If
End If
Next
LogFile.Close()
End Sub
End Module