Я работаю над киоск-приложением, мне нужно отключить диспетчер задач. Чтобы при нажатии пользователем [Ctrl+Alt+Del] и [Ctrl+Shift+Escape] диспетчер задач не выскакивал. Как?
Программное отключение диспетчера задач с помощью С#
comment
Без обид, но как пользователь я очень надеюсь, что это невозможно...
- person Juan Pablo Califano   schedule 04.06.2010
comment
@Juan Pablo Califano, он специально сказал приложение Kiosk. Это не для обычных пользователей. Это обычная и полезная часть большинства киоск-приложений, которые работают в общественных местах, где любой может подойти и использовать их.
- person Samuel Neff   schedule 04.06.2010
comment
@Сэм. Ах, хороший момент, мой плохой.
- person Juan Pablo Califano   schedule 04.06.2010
Ответы (2)
Вы можете сделать это, изменив настройки групповой политики.
public void KillCtrlAltDelete()
{
RegistryKey regkey;
string keyValueInt = "1";
string subKey = "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System";
try
{
regkey = Registry.CurrentUser.CreateSubKey(subKey);
regkey.SetValue("DisableTaskMgr", keyValueInt);
regkey.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
person
Samuel Neff
schedule
04.06.2010
Обыграйте меня и гораздо лучше учтите, чем мой :)
- person fmark; 04.06.2010
@Sam, можно снова включить?
- person Anuya; 04.06.2010
@srk, конечно, просто удалите значение реестра.
- person Samuel Neff; 04.06.2010
@Sam, удалить значение реестра? Как ?
- person Anuya; 04.06.2010
@srk, используй
RegistryKey.DeleteSubKey
- person Samuel Neff; 04.06.2010
@srk Или установите значение 0 вместо 1
- person fmark; 04.06.2010
@SamuelNeff Я столкнулся с отказом в доступе к разделу реестра. Как побороть это..?
- person Pranesh Janarthanan; 20.09.2017
@Vijayaraghavan вы не можете, если у вас нет разрешения на доступ к реестру, вы не можете изменить это значение.
- person Samuel Neff; 20.09.2017
Просто установите соответствующий раздел реестра:
public void SetRegistryKey(Microsoft.Win32.RegistryKey regHive, string regKey, string regName, string regValue)
{
bool response = false;
Microsoft.Win32.RegistryKey key = regHive.OpenSubKey(regKey);
if (key == null)
{
regHive.CreateSubKey(regKey, Microsoft.Win32.RegistryKeyPermissionCheck.ReadWriteSubTree);
}
key = regHive.OpenSubKey(regKey,true);
key.SetValue(regName, (string)regValue);
}
SetRegistryKey(RegistryHive.CurrentUser, "Software\Microsoft\Windows\CurrentVersion\Policies\System", "DisableTaskMgr", 1)
person
fmark
schedule
04.06.2010