好的,这是我的问题:我正在尝试启动第三方应用程序.该应用程序显然被配置为需要提升,可能是通过嵌入式清单.我的程序在非管理用户的上下文中运行,我希望第三方应用程序在相同的上下文中运行.
当我调用CreateProcess时,它返回错误代码740,"请求的操作需要提升."
我已经尝试了CREATE_PRESERVE_CODE_AUTHZ_LEVEL标志,这听起来很相关,但没有任何区别.
第三方应用程序在没有管理员权限的情况下工作,例如,如果我禁用UAC然后以非管理员身份运行它.
提前感谢您提供的任何提示/想法.
我正在 Windows 8.1 上运行 DMD32 D Compiler v2.071.1(最新更新截至 2016 年 9 月 19 日)。
当我编译文件名中包含“patch”的 D 文件时,生成的可执行文件要求管理员权限。为什么?
如果我命名我的文件foo.d,一切都很好:
C:\Users\sorbet\Desktop> echo int main(string[] argv) { return 0; } > foo.d
C:\Users\sorbet\Desktop> dmd foo.d
C:\Users\sorbet\Desktop> foo.exe
C:\Users\sorbet\Desktop> echo %ERRORLEVEL%
0
Run Code Online (Sandbox Code Playgroud)
但如果我说出它的名字patch.d,我突然需要管理员权限:
C:\Users\sorbet\Desktop> echo int main(string[] argv) { return 0; } > patch.d
C:\Users\sorbet\Desktop> dmd patch.d
C:\Users\sorbet\Desktop> patch.exe
Run Code Online (Sandbox Code Playgroud)
啊?
如果我将其命名为文件名中包含“补丁”的名称,例如foopatch.d. 为什么会发生这种情况,我可以禁用它吗?