zoukankan      html  css  js  c++  java
  • WPF 全屏&&屏蔽系统快捷键

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    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;

    namespace PingBiAll
    {
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
    public MainWindow()
    {
    InitializeComponent();
    }

    //全屏
    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
    this.WindowState = System.Windows.WindowState.Normal;//还原窗口(非最小化和最大化)
    this.WindowStyle = System.Windows.WindowStyle.None; //仅工作区可见,不显示标题栏和边框
    this.ResizeMode = System.Windows.ResizeMode.NoResize;//不显示最大化和最小化按钮
    this.Topmost = true; //窗口在最前

    this.Left = 0.0;
    this.Top = 0.0;
    this.Width = System.Windows.SystemParameters.PrimaryScreenWidth;
    this.Height = System.Windows.SystemParameters.PrimaryScreenHeight;
    }

    private void BtnClickShutdown(object sender, RoutedEventArgs e)
    {
    Application.Current.Shutdown();
    }
    }
    }

    全屏

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Threading.Tasks;
    using System.Windows;

    namespace PingBiAll
    {
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {
    //屏蔽系统热键
    private struct KBDLLHOOKSTRUCT
    {
    public int vkCode;
    int scanCode;
    public int flags;
    int time;
    int dwExtraInfo;
    }

    private delegate int LowLevelKeyboardProcDelegate(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);

    [DllImport("user32.dll")]
    private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProcDelegate lpfn, IntPtr hMod, int dwThreadId);

    [DllImport("user32.dll")]
    private static extern bool UnhookWindowsHookEx(IntPtr hHook);

    [DllImport("user32.dll")]
    private static extern int CallNextHookEx(int hHook, int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam);

    [DllImport("kernel32.dll")]
    private static extern IntPtr GetModuleHandle(IntPtr path);

    private IntPtr hHook;
    LowLevelKeyboardProcDelegate hookProc; // prevent gc
    const int WH_KEYBOARD_LL = 13;

    public App()
    {
    // hook keyboard
    IntPtr hModule = GetModuleHandle(IntPtr.Zero);
    hookProc = new LowLevelKeyboardProcDelegate(LowLevelKeyboardProc);
    hHook = SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, hModule, 0);
    if (hHook == IntPtr.Zero)
    {
    MessageBox.Show("Failed to set hook, error = " + Marshal.GetLastWin32Error());
    }
    }

    protected override void OnExit(ExitEventArgs e)
    {
    UnhookWindowsHookEx(hHook); // release keyboard hook
    base.OnExit(e);
    }

    private static int LowLevelKeyboardProc(int nCode, int wParam, ref KBDLLHOOKSTRUCT lParam)
    {
    if (nCode >= 0)
    switch (wParam)
    {
    //屏蔽下面的快捷键
    case 256: // WM_KEYDOWN
    case 257: // WM_KEYUP
    case 260: // WM_SYSKEYDOWN
    case 261: // M_SYSKEYUP
    if (
    (lParam.vkCode == 0x09 && lParam.flags == 32) || // Alt+Tab
    (lParam.vkCode == 0x1b && lParam.flags == 32) || // Alt+Esc
    (lParam.vkCode == 0x20 && lParam.flags == 32) || // Alt+Space
    (lParam.vkCode == 0x73 && lParam.flags == 32) || // Alt+F4
    (lParam.vkCode == 0x1b && lParam.flags == 0) || // Ctrl+Esc
    (lParam.vkCode == 0x5b && lParam.flags == 1) || // Left Windows Key
    (lParam.vkCode == 0x5c && lParam.flags == 1)) // Right Windows Key
    {
    return 1;
    }
    break;
    }
    return CallNextHookEx(0, nCode, wParam, ref lParam);
    }
    }
    }

    屏蔽系统快捷键

    转自:https://www.cnblogs.com/lizhiqiang0204/p/13665020.html

  • 相关阅读:
    信息收集
    beef框架使用
    网站程序CMS识别
    查找网站后台
    下载漏洞原理及利用
    后台拿webshell方法(2)
    如何学好web安全
    TIME_WAIT过多的解决方法(转)
    sudo
    keepalived+lvs子网掩码造成VIP切换故障 + vrrp_script+track_script
  • 原文地址:https://www.cnblogs.com/javalinux/p/14421954.html
Copyright © 2011-2022 走看看