当前位置:编程学习 > C#/ASP.NET >>

c#注册全局快捷键

\代码
using System;   
using System.Runtime.InteropServices;   
  
namespace SystemHotKey   
{   
    public delegate void HotkeyEventHandler(int HotKeyID);   
  
    public class Hotkey : System.Windows.Forms.IMessageFilter   
    {   
        System.Collections.Hashtable keyIDs = new System.Collections.Hashtable();   
        IntPtr hWnd;   
  
        public event HotkeyEventHandler OnHotkey;   
  
        public enum KeyFlags   
        {   
            MOD_ALT = 0x1,   
            MOD_CONTROL = 0x2,   
            MOD_SHIFT = 0x4,   
            MOD_WIN = 0x8   
        }   
        [DllImport("user32.dll")]   
        public static extern UInt32 RegisterHotKey(IntPtr hWnd, UInt32 id, UInt32 fsModifiers, UInt32 vk);   
  
        [DllImport("user32.dll")]   
        public static extern UInt32 UnregisterHotKey(IntPtr hWnd, UInt32 id);   
  
        [DllImport("kernel32.dll")]   
        public static extern UInt32 GlobalAddAtom(String lpString);   
  
        [DllImport("kernel32.dll")]   
        public static extern UInt32 GlobalDeleteAtom(UInt32 nAtom);   
  
        public Hotkey(IntPtr hWnd)   
        {   
            this.hWnd = hWnd;   
            System.Windows.Forms.Application.AddMessageFilter(this);   
        }   
  
        public int RegisterHotkey(System.Windows.Forms.Keys Key, KeyFlags 
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,