2010-06-04 16 views
5

Tôi đang làm việc trên ứng dụng Kiosk, tôi cần tắt trình quản lý tác vụ. Vì vậy, khi người dùng nhấn [Ctrl + Alt + Del] và [Ctrl + Shift + Escape], taskmanager sẽ không bật lên. Làm sao?Lập trình vô hiệu hóa Taskmanager bằng cách sử dụng C#

+2

Không có vi phạm, nhưng như một người sử dụng, tôi thực sự hy vọng điều này là không thể ... –

+2

@Juan Pablo Califano, ông đặc biệt cho biết ứng dụng Kiosk. Điều này không dành cho người dùng bình thường. Đây là một phần phổ biến và hữu ích của hầu hết các ứng dụng Kiosk chạy ở các khu vực công cộng, nơi mọi người có thể đi bộ và sử dụng chúng. –

+1

@Sam. Ah, điểm tốt, xấu của tôi. –

Trả lời

13

Bạn có thể thực hiện việc này bằng cách thay đổi cài đặt chính sách nhóm.

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()); 
    } 
} 
+0

Đánh bại tôi và nhiều yếu tố độc đáo hơn tôi :) – fmark

+0

@Sam, Có thể bật lại không? – Anuya

+0

@srk, chắc chắn, chỉ cần xóa giá trị đăng ký. –

2

Chỉ cần thiết lập các khóa registry thích hợp:

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) 
Các vấn đề liên quan