[英]Is there any method to disable logoff,lock and taskmanager in ctrl+alt+del in C#
[英]Programmatically disable Taskmanager (ctrl+alt+del )
我目前正在開發一個應用程序來更輕松地配置Win10物聯網機器。 想象一下,一個機器上的用戶有一個自定義shell,幾乎所有預定義的快捷鍵都被禁用,因此他只能使用生產應用程序。 但是,為了切換用戶並配置系統,“Win + L”必須保持啟用狀態。 現在,在“Win + L”屏幕中,他仍然會找到進入Taskmanager的選項(不需要的)。 管理員可以防止這種情況是使用gpedit並更改機器上的ctrl + alt + del選項。 這正是我想要做的。
非常接近, 但此注冊表項僅適用於當前登錄的用戶 ,在我的情況下是管理員,因為配置工具需要管理權限(可以配置UWF過濾器等)。
如果我在LocalMachine而不是CurrentUser中嘗試相同的操作,則注冊表項將按預期創建,但它根本不起作用。
提前感謝您的幫助。
我找到了實現我想要的方法:
public void SetTaskManager(bool enable)
{
// Load settings of desired user via UserName property
using (PowerShell PowerShellInstance = PowerShell.Create())
{
var command = Properties.Settings.Default.LoadRegistryOfUser;
command = command.Replace("USERNAME", UserName);
PowerShellInstance.AddScript(command);
var res = PowerShellInstance.Invoke();
}
// Create the key and entry for the registry or delete it if
// enable == true
RegistryKey objRegistryKey = Registry.Users.CreateSubKey(
UserName + @"\Software\Microsoft\Windows\CurrentVersion\Policies\System");
if (enable && objRegistryKey.GetValue("DisableTaskMgr") != null)
objRegistryKey.DeleteValue("DisableTaskMgr");
else
objRegistryKey.SetValue("DisableTaskMgr", "1", RegistryValueKind.DWord);
objRegistryKey.Close();
// Close the registry of the user, otherwise he cant log on
using (PowerShell PowerShellInstance = PowerShell.Create())
{
var command = Properties.Settings.Default.CloseRegistryOfUser;
command = command.Replace("USERNAME", UserName);
PowerShellInstance.AddScript(command);
var res = PowerShellInstance.Invoke();
}
}
Skripts:
LoadRegistryOfUser:reg load HKU \\ USERNAME C:\\ users \\ USERNAME \\ NTUSER.DAT
CloseRegistryOfUser:reg卸載HKU \\ USERNAME
它有點hacky但是我到目前為止找到的唯一方法。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.