CLSID_FileOpenDialog注册表中的哪个位置?是comdlg32吗?ICommDlgBrowser?CID



我想创建一个自定义公用项对话框 (CID),然后注册我的自定义 COM:

但我对 CID COM 对象感到困惑。我想在创建自定义 COM 对象之前查看现有的 COM 对象。

我在注册表中找到了comdlg32,但我认为这是遗留(Vista之前)对话框。 HKEY_CLASSES_ROOT\CLSID{725F645B-EAED-4fc5-B1C5-D9AD0ACCBA5E}\InProcServer32 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID{725F645B-EAED-4fc5-B1C5-D9AD0ACCBA5E}\InProcServer32

我找到了ICommDlgBrowser,但这是一个接口,而不是COM? HKEY_CLASSES_ROOT\接口{000214F1-0000-0000-C000-000000000046} HKEY_LOCAL_MACHINE\软件\类\接口{000214F1-0000-0000-C000-000000000046}

我以为新的是 CIDOpen,但我在注册表中找不到 CLSID,而是我找到的: HKEY_USERS\S-1-5-21-1285309903-269343738-3178715341-1001\软件\Microsoft\Windows\当前版本\资源管理器\CIDOpen

这是自定义的文档:https://learn.microsoft.com/en-us/windows/win32/shell/common-file-dialog 但我的问题是关于在注册表中查找 CID COM 对象。

IFileDialog的 GUID 值为42F85136-DB7E-439C-85F1-E4075D135FC8。在注册表中,它看起来像:

HKEY_CLASSES_ROOTInterface{42F85136-DB7E-439C-85F1-E4075D135FC8}
(Default): "IFileDialog"
HKEY_CLASSES_ROOTInterface{42F85136-DB7E-439C-85F1-E4075D135FC8}NumMethods
(Default): "27"
HKEY_CLASSES_ROOTInterface{42F85136-DB7E-439C-85F1-E4075D135FC8}ProxyStubClsid32
(Default): "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"

IFileDialogEvents的 GUID 值为973510DB-7D7F-452B-8975-74A85828D354。在注册表中,它看起来像:

HKEY_CLASSES_ROOTInterface{973510DB-7D7F-452B-8975-74A85828D354}
(Default): "IFileDialogEvents"
HKEY_CLASSES_ROOTInterface{973510DB-7D7F-452B-8975-74A85828D354}NumMethods
(Default): "10"
HKEY_CLASSES_ROOTInterface{973510DB-7D7F-452B-8975-74A85828D354}ProxyStubClsid32
(Default): "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"

CLSID_FileOpenDialog的 GUID 值为DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7。在注册表中,它看起来像:

HKEY_CLASSES_ROOTCLSID{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}
(Default): "File Open Dialog"
HKEY_CLASSES_ROOTCLSID{DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7}InProcServer32
(Default): "%SystemRoot%System32comdlg32.dll"
ThreadingModel: "Apartment"

IFileOpenDialog的 GUID 值为D57C7288-D4AD-4768-BE02-9D969532D960。在注册表中,它看起来像:

HKEY_CLASSES_ROOTInterface{D57C7288-D4AD-4768-BE02-9D969532D960}
(Default): "IFileOpenDialog"
HKEY_CLASSES_ROOTInterface{D57C7288-D4AD-4768-BE02-9D969532D960}NumMethods
(Default): "29"
HKEY_CLASSES_ROOTInterface{D57C7288-D4AD-4768-BE02-9D969532D960}ProxyStubClsid32
(Default): "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"

CLSID_FileSaveDialog的 GUID 值为C0B4E2F3-BA21-4773-8DBA-335EC946EB8B。在注册表中,它看起来像:

HKEY_CLASSES_ROOTCLSID{C0B4E2F3-BA21-4773-8DBA-335EC946EB8B}
(Default): "File Save Dialog"
HKEY_CLASSES_ROOTCLSID{C0B4E2F3-BA21-4773-8DBA-335EC946EB8B}InProcServer32
(Default): "%SystemRoot%System32comdlg32.dll"
ThreadingModel: "Apartment"

IFileSaveDialog的 GUID 值为84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB。在注册表中,它看起来像:

HKEY_CLASSES_ROOTInterface{84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB}
(Default): "IFileSaveDialog"
HKEY_CLASSES_ROOTInterface{84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB}NumMethods
(Default): "32"
HKEY_CLASSES_ROOTInterface{84BCCD23-5FDE-4CDB-AEA4-AF64B83D78AB}ProxyStubClsid32
(Default): "{C90250F3-4D7D-4991-9B69-A5C5BC1C2AE6}"

最新更新