我正在尝试使用ctypes.windll.shell32.IsUserAdmin()确定正在运行的进程是否由Admins组中的用户启动,但我得到的结果不一致/不正确。在Windows7专业版安装中,当以非管理员但管理员组成员身份登录时,我得到>>>ctypes.windll.shell32.IsUserAnAdmin()0但是用户在admins组中。以管理员身份登录时,我在WindowsServer2008机器上得到了预期的答案;>>>ctypes.windll.shell32.IsUserAnAdmin()1有没有人知道/有任何提示为什么我在win7框上返回0,即使用户在admini
我有一个Delphi6程序,对于大多数用户来说,它在没有管理员权限的用户帐户下运行时安装良好。但是,在某些系统上,它会触发对管理员权限的请求。不幸的是我的不是其中之一,所以我很难诊断这个问题。我使用InnoSetup5.1.9来构建我的安装程序。我如何确定我需要更改安装程序的配置以消除某些人系统对管理员权限的需求?这给我的系统带来了麻烦,因为在安装过程中,某些程序数据文件被复制到admin帐户的应用程序数据文件夹中。然后,当我的程序在user帐户下启动时,无法找到这些文件,因为它们不在user帐户应用程序文件夹中,而它们应该位于该文件夹中。 最佳答案
如何确定当前用户(运行我的应用程序的用户)是否具有管理员权限(即管理员组的成员)?我需要为访问受限的用户注册一些不同的COM组件。我正在使用C++(WTL和Win32)。 最佳答案 IsUserAnAdmin()是快速简便的方法,但MSDN警告说它将来可能会消失,因此您可能需要调用CheckTokenMembership()在您的线程/进程token上(与管理员组的wellknownsid相比) 关于c++-发现用户是否具有管理员权限,我们在StackOverflow上找到一个类似的问题
我创建了一个小的vb6应用程序,用于编辑HKLM配置单元中的注册表。它利用函数RegSetValueEx.但是当在windows7和windows8pc中运行exe文件时,即使以管理员用户运行它也不会编辑注册表。在WindowsXP中它工作正常。如果我在Windows7和8中运行相同的应用程序作为“以管理员身份运行”(通过右键单击exe然后运行)然后它正常工作。我认为Windows7和8id设计只能这样工作。但是有什么方法可以在不以管理员身份运行的情况下编辑它吗?或者在vb6中是否有任何代码可以做同样的事情。这是我的小code重要:检查代码时创建exe然后运行exe并单击按钮(HK
我试图在Windows注册表中创建一个键,但我得到了这个错误:5Accessisdenied.代码片段是这样的:HKEYhKey;LPCTSTRsk=TEXT("SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\ImageFileExecutionOptions\\notepad.exe");//notepad.exeisthekeyIwanttocreate//note:ifIchangethefirstparametertoKEY_CURRENT_USER,thekeywillbecreatedLONGcreateResKey=RegC
我已经阅读了很多关于Windows7等UAC升级的文章,但我没有成功找到我的问题的答案:如何保证我的应用程序将始终“以管理员身份运行”,我是寻找一些代码片段或其他东西。任何帮助将不胜感激。/请不要发送垃圾邮件,例如:“您确定您需要此权限和访问权限吗?”-是的,我确定应用程序需要它们。 最佳答案 使用以下部分将应用list添加到您的应用: 关于c#-如何保证我的WPF应用程序的永久管理员权限,我们在StackOverflow上找到一个类似的问题: https:/
我有一个小型Delphi应用程序,它向LOCAL_MACHINE注册表写入一个key。当我使用具有管理员权限的用户在Windows7专业版上运行它时,它无法写入值,但是当我右键单击并选择“以管理员身份运行”时,它确实有效。代码是:varreg:TRegistry;beginResult:=false;reg:=TRegistry.Create;reg.RootKey:=HKEY_LOCAL_MACHINE;if(reg.OpenKey('Software\YepYep',TRUE))thenBegintryreg.WriteString('ProductKey',Trim(Produc
好的,这是我遇到的一个有趣的问题。我正在尝试使用psshutdown远程重启某些计算机并获取拒绝访问错误,除非我从以管理员身份运行的cmd提示符运行cmd。我本人是我的机器和远程计算机的管理员,所以我的凭据应该可以正常工作。示例代码:psshutdown/accepteula\\COMPUTER.DOMAIN.COM-uDOMAIN\USER-pPassword-r-t0示例输出:CouldnotstartPsShutdownserviceonCOMPUTER.DOMAIN.COM:Accessisdenied.但是,当从管理员cmd窗口运行时:COMPUTER.DOMAIN.COMi
我有一个提示用户名的简单C++程序#include#include#includeint_tmain(intargc,_TCHAR*argv[]){wchar_tusername[UNLEN+1];DWORDusername_len=UNLEN+1;::GetUserName(username,&username_len);MessageBox(NULL,username,NULL,1);return1;}GetUserName()在管理员帐户中按预期执行,这意味着打印真实的用户名。但是,当在非管理员帐户中以管理员身份运行时,我得到的是管理员名称,而不是实际登录的用户。我相信这种行为是
如何在java中运行另一个具有管理员权限的应用程序(.exe)?(在window上)。我使用netbeanside。我需要打开文件对话框选择.exe并以管理员身份运行。 最佳答案 尝试用终端启动它:finalProcessBuilderbuilder=newProcessBuilder("cmd.exe","/c",pathToExe);builder.redirectErrorStream(true);finalProcessp=builder.start(); 关于Java以管理员身