我正在使用Visual Studio 2010,我正在编写一个需要设置(和读取)新注册表值的程序 HKLM\Software\myapp
该程序基于.NET 2.0,目前它在Windows 7 64位上运行.这是我的ocde:
RegistryKey softwareKey = Registry.LocalMachine.OpenSubKey("Software", true);
RegistryKey MyKey = softwareKey.CreateSubKey("MyApp");
RegistryKey = MyKey.CreateSubKey("MyKey");
selfPlacingWindowKey.SetValue("instaldateperson", datestr + usrname);
Run Code Online (Sandbox Code Playgroud)
我在运行Visual Studio 2010时遇到的问题是,它将运行应用程序但以我身份登录,我是用户和本地管理员组的成员..但是我无法创建密钥(尽管我是本地管理员组的一部分,谁有权这样做).我也不知道如何将其作为登录(但它也不是我想要的,因为那时我会将Adminuser和密码放在代码中,我已经是管理员了 - 所以为什么?)
如果根本不可能,是否有创建注册表项的选项?
不知何故将它们添加到项目中等等......我在这里有点困惑.
有人知道如何在运行时获得管理员权限吗?请不要建议这样做:
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
Run Code Online (Sandbox Code Playgroud)
希望有人知道如何做到这一点。
我的意思是,例如,考虑这种情况:我有一个在没有管理员权限的情况下运行的应用程序,通常不会在您的计算机上进行任何更改。但是,如果您单击某个按钮,该应用程序将请求管理员权限,然后执行一些必要的操作。
我用C++编写了一个向导,它将一些文件安装到windows下的程序文件文件夹中.据我了解,我需要管理员权限写入Vista/7下的程序文件.所以我的问题是:在应用程序分别仅针对一个向导页面运行时,是否有办法打开管理员权限?或者我是否必须为此一个向导页面启动具有管理员权限的另一个进程?
我有一个方法在调用C:\驱动器时修改或保存文件,但如果用户没有访问权限,则抛出异常.
如果用户允许该方法在C:\驱动器上进行更改而不是抛出异常,如何向UAC询问用户?
我正在尝试从我的应用程序运行一个进程(C#,仅用于Win7),但在许多PC上,进程立即启动和关闭(如任务管理器中所示),而在其他PC上则启动正常.这是我使用的代码:
ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\windows\system32\slui.exe");
startInfo.UseShellExecute = false;
startInfo.Verb = "runas";
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
我有一个生成CSV文件的WinForm应用程序.我为用户提供了选择保存这些CSV的路径的选项.
用户正在使用Windows 7并以管理员身份登录.当他尝试通过应用程序保存CSV时,会出现"权限被拒绝"错误.
特别是有问题的应用程序是控制台应用程序.我们正在创建计划任务,并指定任务以将其作为管理员帐户启动.但是,当应用程序尝试将文件保存到指定文件夹(其用户名有权写入)时,会出现问题.
有没有办法允许机器管理员在他有权通过应用程序的任何地方创建文件夹/文件?
谢谢!