我有一个 32 位应用程序,它写入:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
我的应用程序路径,以便在当前用户登录时启动它。这适用于 32 位系统(即应用程序自动启动)。
我知道在 64 位系统上,注册表重定向开始发挥作用。所以,我搜索:
HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
但是 CurrentVersion 子键不存在(但 Wow6432Node 键存在)!所以,我手动创建了它,我的应用程序正确地写入了注册表(我进入注册表并检查。条目在那里)。但是,当当前用户登录时,应用程序没有自动启动。有人能告诉我为什么吗?
顺便说一句,如果我使用 HKEY_LOCAL_MACHINE 分支,这一切都很好。但是,我希望这是特定于用户的。
为什么我不只是使用启动文件夹?
当 UAC 启用并设置为始终通知时,这根本不起作用(即我的应用程序不会自动启动)。不,我不能禁用 UAC。我要求我的应用程序在启用 UAC 并设置为始终通知的情况下运行良好。
如果有人能告诉我原因,我会很高兴忘记我需要使用注册表(我讨厌注册表)。
后备选项(最后的手段):
我将使用任务计划程序 API 来执行此操作。但是,只有在绝对没有其他方法的情况下,我才会这样做。
谢谢!