在Windows注册表中注册应用程序

鼓膜

Windows有一种模糊且明确的方式来声明在Windows注册表中注册应用程序的标准。

按照官方文档进行应用程序注册, Microsoft建议在以下位置注册应用程序

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe

但是,开发人员似乎并未遵循此建议,因为在我的系统上尚未注册该密钥时,还没有注册该密钥。

HKEY_CURRENT_USER\Software\Classes\MyApp

HKEY_CURRENT_USER\Software\Classes\Applications\MyApp.exe

上面的每个键都有不同的结构,因此也有不同的选项(即,一个键提供SupportedTypes,而另一个则不可用)。在这些不同的密钥下注册应用程序有什么区别?在什么情况下您会选择一个而不是另一个?

不同的

是的,注册表中有多个位置,您可以在其中放置应用程序信息,使用哪个键取决于您要注册的内容/原因。

我认为主要的注册点是在下的“默认程序”的注册SOFTWARE\RegisteredApplications如果您的应用程序适合其中一种客户端类型,则应将RegisteredApplications值指向Software\Clients\%ClientType%\%YourCanonicalName%\Capabilities,否则可以使用诸如Software\%YourCompany%\%YourApp%\Capabilities或的任何键Software\Classes\Applications\%Filename%\Capabilities

如果希望您的应用程序出现在特定文件扩展名“打开方式”对话框中,则可以在下列出您的ProgIdHKCR\%.ext%\OpenWithProgids在下列出应用程序文件名HKCR\%.ext%\OpenWithList

常规“打开方式”信息存储在下HKCR\Applications\%Filename%

Software\Microsoft\Windows\CurrentVersion\App Paths键主要用作外壳程序的%Path%环境变量扩展名,因此,如果用户在“运行”对话框中仅键入文件名,它就可以找到可执行文件的完整路径。它还可以包含有关您的应用程序如何处理“拖放”和URL协议的一些信息。

下面还有一些应用程序信息,HKCR\AppID但是除非您有COM服务器,否则此信息不适用。


至于你具体的问题去,HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exeHKEY_CURRENT_USER\Software\Classes\Applications\MyApp.exe形成文件我已经涵盖了注册键。SupportedTypes键在此处记录

HKEY_CURRENT_USER\Software\Classes\MyApp看起来像ProgId,通常用于注册文件类型URL协议处理程序

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

沙箱注册表应用程序

来自分类Dev

删除应用程序注册表是否安全?

来自分类Dev

在沙盒中安装应用程序以检测Windows注册表操作

来自分类Dev

Windows 10在其注册表中存储默认电子邮件应用程序的位置

来自分类Dev

在Windows 10注册表中设置默认的pdf查看器应用程序?

来自分类Dev

在Web应用程序中注册shutDownHook

来自分类Dev

在清单中注册应用程序类?

来自分类Dev

在清单中注册应用程序类?

来自分类Dev

删除程序后,更正Windows 7中注册表中的文件关联

来自分类Dev

当心Windows 8.1注册表读取虚拟化不适用于64位应用程序

来自分类Dev

datagrid中的转换表-简单类注册表应用程序

来自分类Dev

使用API在Azure AD中注册应用程序(应用程序注册)?

来自分类Dev

如何在Webpack构建的应用程序中导入不在npm注册表上的库?

来自分类Dev

运行时错误:应用程序注册表尚未准备好

来自分类Dev

在注册表中找不到应用程序“ org.eclipse.cdt.managedbuilder.core.headlessbuild”

来自分类Dev

如何使用Docker Hub注册表部署到Azure Web应用程序容器

来自分类Dev

在注册表中找不到应用程序“ org.eclipse.ui.ide.workbench”

来自分类Dev

从已安装的Web应用程序可靠地读取注册表

来自分类Dev

在32位应用程序中访问64位注册表

来自分类Dev

如何确定应用程序使用哪个注册表值?

来自分类Dev

安装应用程序C#时的注册表更改

来自分类Dev

安装VB.net应用程序时如何在注册表中写入值?

来自分类Dev

在骆驼应用程序中使用自定义注册表

来自分类Dev

注册表验证,用户名是否已经存在?(Java Web 应用程序)

来自分类Dev

如何在 Web 应用程序部署期间在注册表中添加新的时区?

来自分类Dev

在 runFullTrust 模式下从 UWP 应用程序访问注册表值

来自分类Dev

在本机C ++应用程序中注册Windows运行时组件(c ++ winrt)

来自分类Dev

在Jax-RS应用程序中注册JodaModule

来自分类Dev

无法使用Phonegap Build在应用程序中注册PushPlugin?

Related 相关文章

  1. 1

    沙箱注册表应用程序

  2. 2

    删除应用程序注册表是否安全?

  3. 3

    在沙盒中安装应用程序以检测Windows注册表操作

  4. 4

    Windows 10在其注册表中存储默认电子邮件应用程序的位置

  5. 5

    在Windows 10注册表中设置默认的pdf查看器应用程序?

  6. 6

    在Web应用程序中注册shutDownHook

  7. 7

    在清单中注册应用程序类?

  8. 8

    在清单中注册应用程序类?

  9. 9

    删除程序后,更正Windows 7中注册表中的文件关联

  10. 10

    当心Windows 8.1注册表读取虚拟化不适用于64位应用程序

  11. 11

    datagrid中的转换表-简单类注册表应用程序

  12. 12

    使用API在Azure AD中注册应用程序(应用程序注册)?

  13. 13

    如何在Webpack构建的应用程序中导入不在npm注册表上的库?

  14. 14

    运行时错误:应用程序注册表尚未准备好

  15. 15

    在注册表中找不到应用程序“ org.eclipse.cdt.managedbuilder.core.headlessbuild”

  16. 16

    如何使用Docker Hub注册表部署到Azure Web应用程序容器

  17. 17

    在注册表中找不到应用程序“ org.eclipse.ui.ide.workbench”

  18. 18

    从已安装的Web应用程序可靠地读取注册表

  19. 19

    在32位应用程序中访问64位注册表

  20. 20

    如何确定应用程序使用哪个注册表值?

  21. 21

    安装应用程序C#时的注册表更改

  22. 22

    安装VB.net应用程序时如何在注册表中写入值?

  23. 23

    在骆驼应用程序中使用自定义注册表

  24. 24

    注册表验证,用户名是否已经存在?(Java Web 应用程序)

  25. 25

    如何在 Web 应用程序部署期间在注册表中添加新的时区?

  26. 26

    在 runFullTrust 模式下从 UWP 应用程序访问注册表值

  27. 27

    在本机C ++应用程序中注册Windows运行时组件(c ++ winrt)

  28. 28

    在Jax-RS应用程序中注册JodaModule

  29. 29

    无法使用Phonegap Build在应用程序中注册PushPlugin?

热门标签

归档