C#代码实现隐藏任务栏、开始菜单和禁用任务管理
2014-08-29 16:37
288 查看
一:截图,主要是调用系统接口和更改注册表实现功能
二:代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.Diagnostics; using System.Runtime.InteropServices; using Microsoft.Win32; namespace 关机一键锁定 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } #region 隐藏、显示任务栏 [DllImport("user32.dll")] public static extern IntPtr FindWindow(String className, String captionName); [DllImport("user32.dll")] public static extern bool ShowWindow(IntPtr hwnd, uint nCmdShow); //隐藏光标 [DllImport("user32.dll", EntryPoint = "ShowCursor")] public static extern bool ShowCursor(bool bShow); //ShowCursor(false); private void btnHideToolBar_Click(object sender, RoutedEventArgs e) { // 获得任务栏和开始菜单的句柄 var rwl = FindWindow("Shell_TrayWnd", null); var rwl2 = FindWindow("Button", null); if (btnHideToolBar.Content == "隐藏")//当nCmdShow=0---隐藏;nCmdShow=1---显示 { ShowWindow(rwl2,1 ); ShowWindow(rwl, 1); ShowCursor(true); btnHideToolBar.Content = "显示"; } else { ShowWindow(rwl2, 0); ShowWindow(rwl, 0); ShowCursor(false); btnHideToolBar.Content = "隐藏"; } } #endregion //禁用、启用任务管理器 private void btnManageForm_Click(object sender, RoutedEventArgs e) { if (btnManageForm.Content == "禁用")//当nCmdShow=0---隐藏;nCmdShow=1---显示 { //禁用本机的任务管理器 Registry.SetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "DisableTaskMgr", 1); //禁用当前用户任务管理器 Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "DisableTaskMgr", 1); btnManageForm.Content = "启用"; } else { //禁用本机的任务管理器 Registry.SetValue("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "DisableTaskMgr", 0); //禁用当前用户任务管理器 Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "DisableTaskMgr", 0); btnManageForm.Content = "禁用"; } } } }
三:后记
如果这些代码将任务栏和开始菜单隐藏掉,仅想通过界面鼠标操作恢复还是有点难度的,希望用的朋友不要擅自用于别人电脑。相关文章推荐
- C#.NET通用权限管理系统组件中用少数几行代码实现记录页面状态
- C#实现系统托盘,C#窗体最小化时隐藏为任务栏图标的Window appllication
- Spring动态对Quartz定时任务的管理,实现动态加载,停止的配置实例代码
- c#实现隐藏与显示任务栏的方法详解
- C#实现系统托盘,C#窗体最小化时隐藏为任务栏图标
- C# 控制win7任务栏、开始菜单的显示与隐藏
- C#代码实现对Windows凭据的管理
- C# 在winform中隐藏或者去除c#的标题栏并实现窗体移动附代码
- C# 实现显示隐藏任务栏
- wince应用程序(实现 获取存储设备的大小、实现 WINCE 系统重新启动、隐藏/显示 Windows 任务栏等等)【C#】
- C#实现系统托盘,C#窗体最小化时隐藏为任务栏图标
- Spring动态对Quartz定时任务的管理,实现动态加载,停止的配置实例代码
- C# 窗口全屏 隐藏任务栏 (代码)
- wince应用程序(实现 获取存储设备的大小、实现 WINCE 系统重新启动、隐藏/显示 Windows 任务栏等等)【C#】
- android任务管理实现方案+关键代码
- IIS管理站点、子站点、程序池间关系,以及C#代码ServerManager实现根据站点与子站点名称获取程序池
- C#隐藏与显示系统任务栏和开始菜单栏按钮
- Spring动态对Quartz定时任务的管理,实现动态加载,停止的配置实例代码
- Spring动态对Quartz定时任务的管理,实现动态加载,停止的配置实例代码
- C# 窗口全屏 隐藏任务栏 (代码)