gpt4 book ai didi

c# - 如何删除特定用户的注册表项?

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:15 25 4
gpt4 key购买 nike

我有两个用户:SuperUser 和 MyUser。当我以 super 用户身份登录时,如何删除 MyUser 的某些注册表项。

在我的 C# 应用程序中,我想按路径删除 key :MyUser\Software\Microsoft\Windows\CurrentVersion\Run\MyApp。请注意,当我以 super 用户身份登录时,我正在运行我的 C# 应用程序。

Microsoft.Win32.Registry 类似乎不可能做到这一点。

最佳答案

配置文件可能会或可能不会被加载。为了确保它已加载,您需要登录用户。然后您可以加载配置文件并进行更改。您需要调用 LogonUser()LoadUserProfile()

// log on user
UserToken usertoken = null;
LogonUser(user, domain, pass, LogonType.LOGON32_LOGON_NETWORK,
LogonProvider.LOGON32_PROVIDER_DEFAULT, out usertoken));

// load the profile
PROFILEINFO p = new PROFILEINFO();
p.dwFlags = 1;
p.lpUserName = user;
p.dwSize = Marshal.SizeOf(p);
LoadUserProfile(usertoken, ref profile);

// get a handle to the registry
Microsoft.Win32.SafeHandles.SafeRegistryHandle saferh =
new Microsoft.Win32.SafeHandles.SafeRegistryHandle(profile.hProfile, false);

Microsoft.Win32.RegistryKey rk =
Microsoft.Win32.RegistryKey.FromHandle(m_RegHandle, Microsoft.Win32.RegistryView.Default);

关于c# - 如何删除特定用户的注册表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35131391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com