我正在开发一个需要将一些设置保存到注册表的应用程序。当我尝试使用具有KEY_WRITE权限的RegCreateKeyEx打开key时,出现错误5。我使用这种方法,以便在key不存在时创建它。但是,当我从Debug文件夹手动使用“以管理员身份运行”运行同一程序时,它工作正常。在通过VisualStudio调试应用程序时,是否有任何方法可以以管理员身份运行该应用程序?我正在使用VisualStudio2012。 最佳答案 您需要提升运行VisualStudio(即,具有管理员权限)。如果你这样做,那么默认情况下,由它启动并附加了调试器的
如何从C++检查用户是否在win32中具有本地管理员权限 最佳答案 刚找到IsUserAnAdmin()在为我完成工作的shlobj.h中。 关于c++-如何检查用户是否在win32中具有本地管理员权限,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/581204/
我有一个项目,其输出是一个库(.lib)。该项目依赖于第三方库(也是.lib)。为了避免在我的库之上构建的项目不得不担心这种第三方依赖性,我使用了图书馆员将其包含在我的图书馆员中(项目属性>图书馆员>常规>附加依赖项)。但是,当我构建一个链接到我的库的单独的可执行项目时,我收到了一堆警告:MyProject.lib(someThirdPartyObjectFile.obj):warningLNK4099:PDB'vc110.pdb'wasnotfoundwith'MyProject.lib(someThirdPartyObjectFile.obj)'orat'\vc110.pdb';l
我正在开发分区磁盘程序,要读取\\\\.\\PhysicalDrive0,我需要管理员权限。我想知道是否有可能在运行时让程序获得管理员权限?是否有任何winapi?我想这样做是因为我希望程序仅在读取/写入磁盘时以管理员权限执行。出于安全原因,我不希望程序一直以管理员权限执行,因为有人可能会在某些模块中发现错误(例如堆栈或堆溢出)并以adm身份执行任意命令。 最佳答案 进程启动后,您无法获得提升的权限。您的选择是:将您的应用程序中需要提升权限的部分放入单独的进程中,并使用requireAdministrator进行声明。将应用程序中需
我前段时间开发了一个视频游戏,当时WinXP是当前的Windows版本。游戏需要将自己的字体安装到系统中(如果尚未存在)。我不记得我在代码中是如何做到这一点的,我想我要么使用了特定的WinAPI函数,要么我只是将字体文件复制到Fonts文件夹中——无论哪种方式,当时都可以正常工作。但是现在在Win7上运行游戏时,除非用户以管理员身份运行,否则游戏无法安装字体。游戏运行正常,但使用了一种可怕的默认字体,因此用户甚至没有意识到出了什么问题,只是认为游戏看起来很糟糕。所以我需要的是让exe文件总是要求以管理员身份运行。我可以重新编译游戏并设置构建,以便exe文件始终需要管理员权限,但我没有一
这个问题在这里已经有了答案:HowtoinstallNodeJSLTSonWindowsasalocaluser(withoutadminrights)(12个答案)关闭4年前。我以普通用户身份使用Windows(我没有任何管理员权限),想安装Yarn并使用YarnInstall、YarnAdd和YarnStart等命令。我在Stackoverflow上找到了关于如何以本地用户身份安装Node.JS的内容,但我无法让它在该文件夹之外工作:installNodeJSLTSonWindowsasalocaluser(withoutadminrights)我现在将Node解压到文件夹中:C:
我已经使用NSIS编写了一个安装程序,我需要它在C:/ProgramFiles/AppName/等标准位置安装一些文件(DLL等)。我还需要在当前用户的应用程序数据目录中安装文件。问题是,当用户不是Vista上的管理员时,我需要提升权限,这样做时环境变量会发生变化,因此当前用户现在似乎是管理员用户,我最终安装在管理员用户的目录中,而不是实际用户。启动安装程序时必须提升权限,这样我就无法获取用户名然后提升权限。当我以管理员身份运行安装程序时,是否有一些合理的方法来确定实际用户是谁?编辑:不幸的是,在第一次运行时复制数据不是一种选择。如果没有我正在写入用户目录的内容,该应用程序将无法运行,
我正在编写命令文件(.cmd)以将用户添加到本地组。如果调用失败,我希望CMD文件提示管理员访问权限。我想应该是这样的:@echooffnetlocalgroupadministratorsdomain\user/addremTheNetcommanddoesn'tpromptforprivilegeescalation,itjustfails.if"%errorlevel%"neq"0"RequireAdministrator"cmd.exe/cnetlocalgroupadministratorsdomain\user/add"if"%errorlevel%"neq"0"echoC
我正在创建一个与第3方程序一起使用的DLL。第三方程序在Windows中是否具有管理员权限是我无法控制的。DLL需要创建一个目录,但是CreateDirectory好像不行,因为它没有管理员权限。升级UAC不是一个选项,因为我只是修改DLL,而不是第3方程序。我无法强制用户右键单击第3方程序并“以管理员身份运行”。(视觉C++2010)编辑我正在尝试写入C:\ProgramData\。我使用SHGetFolderPath()和CSIDL_COMMON_APPDATA检索该路径。 最佳答案 使用CSIDL_APPDATA作为任何用户特
是否有一种简单的方法可以从提升的管理员进程创建普通的管理员进程(未提升的)?我正在使用Windows10专业版。情况是我正在尝试制作某种部署工具。该工具将在提升的管理员上下文中运行,以便将文件写入“程序文件”(并访问其他特权资源)。但是其中一个步骤是调用外部程序。该程序在使用提升的管理员权限创建时似乎有奇怪的问题。我们必须在非提升的管理员上下文中启动它。我尝试了MSDN博客中的方法,https://blogs.msdn.microsoft.com/winsdk/2010/05/31/dealing-with-administrator-and-standard-users-contex