如何以管理员身份程序化运行VB6 EXE



我有一个用VB6开发的旧应用程序,现在我用c#附加了一些附件(DLL作为组件),它需要管理员权限才能在64位系统(windows 8)中编写注册表。

如果我通过右键单击"以管理员身份运行"来运行我的应用程序,程序工作正常,DLL写入注册表,但如果我以普通用户注册表运行它,则写入失败。

我知道如果我在HKLM中添加注册表值…AppCompatFlags->层它将工作,但如何以编程方式或在设置期间添加该值(使用WISE 9)?

您通常会在安装时通过安装appcompat数据库来应用appcompat。请参阅应用程序兼容性工具包,如果发布了新版本,请参阅当前版本。另请参见部署Windows 7应用程序兼容性数据库。

然而,一个更简单的解决方案是在你的程序中嵌入一个请求提升的应用程序清单。

如果你不知道这一点,也不知道如何做到这一点,你一定是自2006年以来一直在睡觉,然而,在MSDN博客等网站上搜索一下,应该会找到一些答案。对于cookbook VB6方法,您可以搜索流行的VB6论坛和博客网站,它们往往具有比StackOverflow更友好的格式来提供教程和示例。

最新更新