C#實(shí)現(xiàn)設(shè)置或屏蔽熱鍵的方法詳解
更新時(shí)間:2022年12月16日 10:07:55 作者:芝麻粒兒
這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)設(shè)置或屏蔽熱鍵,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
實(shí)踐過(guò)程
效果

代碼
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
HOOK Hook = new HOOK();//實(shí)例化自定義類(lèi)HOOK
public static string[] Arrstr = new string[6];//記錄屏蔽的熱鍵
public static string[,] ArrHotkey = new string[3,2];//記錄自定義的熱鍵
public static bool istabPage = true;//判斷是設(shè)置熱鍵,還是屏蔽熱鍵
bool isShift = false;//判斷是否為組合鍵
string front = "";//記錄組合鍵前一鍵的值
string tem_s = "";//記錄單鍵或組合鍵的值
string tem_dir = "";//記錄路徑
public static int tem_Set = 0;//標(biāo)識(shí),判斷當(dāng)前鍵是否為屏蔽的熱鍵
public static int tem_Hotkey = 0;//標(biāo)識(shí),判斷當(dāng)前鍵是否為自定義的熱鍵
private void Form1_Load(object sender, EventArgs e)
{
Hook.KeyDown += new KeyEventHandler(Hook_KeyDown);//加載鍵盤(pán)的按下事件
Hook.KeyUp += new KeyEventHandler(Hook_KeyUp);//加載鍵盤(pán)的松開(kāi)事件
Hook.KeyPress += new KeyPressEventHandler(Hook_KeyPress);//加載鍵盤(pán)的單擊事件
HOOK.isSet = false;//判斷是否設(shè)置熱鍵
//對(duì)記錄屏蔽熱鍵的數(shù)組進(jìn)行初始化
for (int i = 0; i < 6; i++)
{
Arrstr[i] = "";
}
//對(duì)記錄設(shè)置熱鍵的數(shù)組進(jìn)行初始化
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2;j++ )
ArrHotkey[i,j] = "";
}
}
private void Form1_FontChanged(object sender, EventArgs e)
{
Hook.Stop();//卸載鉤子
}
void Hook_KeyPress(object sender, KeyPressEventArgs e)
{
//在單擊按鍵時(shí),是否對(duì)該鍵進(jìn)行屏蔽
AddKeyboardEvent("KeyPress", "", e.KeyChar.ToString(), "", "", "");
}
void Hook_KeyUp(object sender, KeyEventArgs e)
{
//在按下按鈕時(shí),是否對(duì)該鍵進(jìn)行屏蔽
AddKeyboardEvent("KeyUp", e.KeyCode.ToString(), "", e.Shift.ToString(), e.Alt.ToString(), e.Control.ToString());
}
void Hook_KeyDown(object sender, KeyEventArgs e)
{
//在松開(kāi)組合鍵時(shí),是否對(duì)該組合鍵進(jìn)行屏蔽
AddKeyboardEvent("KeyDown", e.KeyCode.ToString(), "", e.Shift.ToString(), e.Alt.ToString(), e.Control.ToString());
}
/// <summary>
/// 用于屏蔽指定的系統(tǒng)熱鍵,以及執(zhí)行自定義熱鍵
/// </summary>
/// <param eventType="string">按鍵操作的類(lèi)型</param>
/// <param keyCode="string">鍵名稱(chēng)</param>
/// <param keyChar="string">鍵值</param>
/// <param shift="string">是否為Shift鍵</param>
/// <param alt="string">是否為Alt鍵</param>
/// <param control="string">是否為Ctrl鍵</param>
public void AddKeyboardEvent(string eventType, string keyCode, string keyChar, string shift, string alt, string control)
{
tem_Set = 0;//初始化
tem_Hotkey = 0;//初始化
bool b = false;//初始化
string keyvalue = "";//初始化
GeyKeys(keyCode, out b, out keyvalue);//獲取當(dāng)前鍵的鍵值
if (eventType == "KeyDown")//如果當(dāng)前為按下鍵
{
isShift = true;
if (tem_s == "")//如果當(dāng)前不是組合鍵
{
if (HOOK.isSet == false)//設(shè)置屏蔽
{
if (istabPage == true)//如果是“屏蔽熱鍵”選項(xiàng)卡
SetTextBox(keyvalue);//在指定文本框中顯示熱鍵
}
else
{
//遍歷當(dāng)前熱鍵是否為屏蔽的熱鍵
for (int i = 0; i < 6; i++)
{
if (Arrstr[i] == tem_s)//如果是屏蔽的熱鍵
{
tem_Set = 1;//當(dāng)前為屏蔽的熱鍵
break;//退出本次循環(huán)
}
else
tem_Set = 0;//不是屏蔽的熱鍵
}
}
if (HOOK.isHotkey == false)//設(shè)置自定義熱鍵
{
if (istabPage == false)//如果當(dāng)前是設(shè)置自定義熱鍵
SetTextBox(keyvalue);//在指定的文本框顯示熱鍵
}
else
{
//遍歷當(dāng)前熱鍵是否為自定義熱鍵
for (int i = 0; i < 3; i++)
{
if (ArrHotkey[i, 0] == tem_s)//如果是自定義熱鍵
{
tem_Hotkey = 1;//屏蔽當(dāng)前熱鍵
try
{
//如果自定義熱已設(shè)置
if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())
System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//執(zhí)行自定義熱鍵的相關(guān)操作
tem_dir = ArrHotkey[i, 1].Trim();//記錄執(zhí)行的路徑
}
catch
{
MessageBox.Show("文件無(wú)法打開(kāi)。");
}
break;
}
else
tem_Hotkey = 0;//執(zhí)行當(dāng)前熱鍵
}
}
}
}
if (eventType == "KeyUp")//如果當(dāng)前是鍵盤(pán)松開(kāi)操作
{
isShift = false;//沒(méi)有組合鍵
front = "";//清空組合鍵的前一個(gè)鍵值
tem_dir = "";//清空自定義熱鍵的操作路徑
}
if (isShift == true && eventType == "KeyDown")//如果是鍵盤(pán)按下操作
{
if (front != keyvalue)
{
tem_s = "";//清空鍵或組合鍵的值
if (front == "")//如果不是組合鍵
{
tem_s = keyvalue;//獲取當(dāng)前鍵的值
if (HOOK.isSet == false)//設(shè)置屏蔽
{
if (istabPage == true)//如果當(dāng)前為“屏蔽熱鍵”選項(xiàng)卡
{
SetTextBox("");//清空顯示熱鍵的文本框
SetTextBox(keyvalue);//將熱鍵顯示在指定的文本框中
}
}
else
{
//遍歷要屏蔽的熱鍵
for (int i = 0; i < 6; i++)
{
if (Arrstr[i] == tem_s)//如果存在
{
tem_Set = 1;//屏蔽系統(tǒng)熱鍵
break;
}
else
tem_Set = 0;//不屏蔽
}
}
if (HOOK.isHotkey == false)//設(shè)置熱鍵
{
if (istabPage == false)//如果是“設(shè)置熱鍵”選項(xiàng)卡
SetTextBox(keyvalue);//在文本框中顯示當(dāng)前熱鍵
}
else
{
//遍歷自定義熱鍵
for (int i = 0; i < 3; i++)
{
if (ArrHotkey[i, 0] == tem_s)//如果存在
{
tem_Hotkey = 1;//屏蔽當(dāng)前熱鍵
try
{
if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())//如果對(duì)自定義熱鍵進(jìn)行了設(shè)置
System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//執(zhí)行自定義熱鍵的操作
tem_dir = ArrHotkey[i, 1].Trim();//記錄路徑
}
catch
{
MessageBox.Show("文件無(wú)法打開(kāi)。");
}
break;
}
else
tem_Hotkey = 0;//執(zhí)行自定義熱鍵
}
}
}
else//如果當(dāng)前是組合鍵
{
tem_s = front + "+" + keyvalue;//記錄組合鍵
if (HOOK.isSet == false)//設(shè)置屏蔽
{
if (istabPage == true)//如果當(dāng)前為“屏蔽熱鍵”選項(xiàng)卡
{
SetTextBox("");//清空指定的文本框
SetTextBox(front + "+" + keyvalue);//在文本框中顯示屏蔽熱鍵
}
}
else
{
//遍歷設(shè)置的自定義熱鍵
for (int i = 0; i < 6; i++)
{
if (Arrstr[i] == tem_s)//如果存在
{
tem_Set = 1;//屏蔽當(dāng)前熱鍵
break;//退出本次循環(huán)
}
else
tem_Set = 0;//執(zhí)行當(dāng)前熱鍵
}
}
if (HOOK.isHotkey == false)//設(shè)置熱鍵
{
if (istabPage == false)//如果當(dāng)前為“設(shè)置熱鍵”選項(xiàng)卡
{
SetTextBox("");//清空顯示熱鍵的文本框
SetTextBox(front + "+" + keyvalue);//在指定的文本框中顯示組合鍵
}
}
else
{
//遍歷自定義熱鍵
for (int i = 0; i < 3; i++)
{
if (ArrHotkey[i, 0] == tem_s)//如果是設(shè)置的自定義組合熱鍵
{
tem_Hotkey = 1;//屏蔽當(dāng)前組合熱鍵
try
{
if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())//如果對(duì)自定義組合熱鍵進(jìn)行了設(shè)置
System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//執(zhí)行自定義組合熱鍵的操作
tem_dir = ArrHotkey[i, 1].Trim();//記錄路徑
}
catch
{
MessageBox.Show("文件無(wú)法打開(kāi)。");
}
break;
}
else
tem_Hotkey = 0;//執(zhí)行當(dāng)前組合熱鍵
}
}
tem_s = "";//清空熱鍵
}
}
front = keyvalue;//記錄組合鍵的前一個(gè)鍵值
}
if (tem_Hotkey > 0 || tem_Set > 0)//如果屏蔽系統(tǒng)熱鍵或自定義熱鍵
HOOK.pp = 1;//屏蔽
else
HOOK.pp = 0;//執(zhí)行
if (HOOK.isSet == false)//設(shè)置屏蔽的系統(tǒng)熱鍵
HOOK.pp = 1;
if (HOOK.isHotkey == false)//設(shè)置屏蔽的自定義熱鍵
HOOK.pp = 1;
}
/// <summary>
/// 在指定文本框中顯示要屏蔽或設(shè)置的熱鍵
/// </summary>
/// <param value="string">熱鍵</param>
public void SetTextBox(string value)
{
if (textBox1.Focused)//如果獲取焦點(diǎn)
textBox1.Text=value;//顯示熱鍵
if (textBox2.Focused)
textBox2.Text = value;
if (textBox3.Focused)
textBox3.Text = value;
if (textBox4.Focused)
textBox4.Text = value;
if (textBox5.Focused)
textBox5.Text = value;
if (textBox6.Focused)
textBox6.Text = value;
if (textBox7.Focused)
textBox7.Text = value;
if (textBox9.Focused)
textBox9.Text = value;
if (textBox11.Focused)
textBox11.Text = value;
}
/// <summary>
/// 通過(guò)熱鍵獲取其指定的名稱(chēng)
/// </summary>
/// <param value="string">熱鍵</param>
/// <return b="bool">是否有當(dāng)前熱鍵</return>
/// <return keyvalue="string">當(dāng)前熱鍵的指定名稱(chēng)</return>
public void GeyKeys(string k, out bool b, out string keyvalue)
{
if (k.Contains("ControlKey"))//如果字符串K的值在指定的字符串中
{
b = true;//返回true
keyvalue = "Ctrl";//返回指定的鍵值
return;
}
if (k.Contains("Shift"))
{
b = true;
keyvalue = "Shift";
return;
}
if (k.Contains("Win"))
{
b = true;
keyvalue = "Win";
return;
}
if (k.Contains("Menu"))
{
b = true;
keyvalue = "Alt";
return;
}
if (k.Length == 2 && k.Substring(0, 1) == "D")//返回F1~F12的鍵名稱(chēng)
{
b = true;
keyvalue = k.Substring(1, 1);
return;
}
if (k.Contains("Menu"))
{
b = true;
keyvalue = "Alt";
return;
}
if (k.Contains("OemMinus"))
{
b = true;
keyvalue = "_";
return;
}
if (k.Contains("Oem5"))
{
b = true;
keyvalue = "\\";
return;
}
b = true;
keyvalue = k;//返回除以上鍵值的鍵名稱(chēng)
}
private void button1_Click(object sender, EventArgs e)
{
//顯示當(dāng)前已設(shè)置的要屏蔽的熱鍵鍵值
HOOK.isSet = false;
textBox1.Text = Arrstr[0];
textBox2.Text = Arrstr[1];
textBox3.Text = Arrstr[2];
textBox4.Text = Arrstr[3];
textBox5.Text = Arrstr[4];
textBox6.Text = Arrstr[5];
Hook.Stop();
Hook.Start();
}
private void button2_Click(object sender, EventArgs e)
{
Arrstr[0] = textBox1.Text;
Arrstr[1] = textBox2.Text;
Arrstr[2] = textBox3.Text;
Arrstr[3] = textBox4.Text;
Arrstr[4] = textBox5.Text;
Arrstr[5] = textBox6.Text;
HOOK.isSet = true;
HOOK.isHotkey = true;
Hook.Stop();
Hook.Start();
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Clear();
}
private void button4_Click(object sender, EventArgs e)
{
textBox2.Clear();
}
private void button5_Click(object sender, EventArgs e)
{
textBox3.Clear();
}
private void button6_Click(object sender, EventArgs e)
{
textBox4.Clear();
}
private void button7_Click(object sender, EventArgs e)
{
textBox5.Clear();
}
private void button8_Click(object sender, EventArgs e)
{
textBox6.Clear();
}
private void button9_Click(object sender, EventArgs e)
{
HOOK.isHotkey = false;
textBox7.Text = ArrHotkey[0, 0];
textBox8.Text = ArrHotkey[0, 1];
textBox9.Text = ArrHotkey[1, 0];
textBox10.Text = ArrHotkey[1, 1];
textBox11.Text = ArrHotkey[2, 0];
textBox12.Text = ArrHotkey[2, 1];
Hook.Stop();
Hook.Start();
}
private void button12_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
textBox8.Text = openFileDialog1.FileName;
}
private void button15_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
textBox10.Text = openFileDialog1.FileName;
}
private void button16_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
textBox12.Text = openFileDialog1.FileName;
}
private void button10_Click(object sender, EventArgs e)
{
ArrHotkey[0, 0] = textBox7.Text;
ArrHotkey[0, 1] = textBox8.Text;
ArrHotkey[1, 0] = textBox9.Text;
ArrHotkey[1, 1] = textBox10.Text;
ArrHotkey[2, 0] = textBox11.Text;
ArrHotkey[2, 1] = textBox12.Text;
HOOK.isSet = true;
HOOK.isHotkey = true;
Hook.Stop();
Hook.Start();
}
private void tabControl1_Click(object sender, EventArgs e)
{
if (tabControl1.SelectedTab.Name == "tabPage1")
istabPage = true;
else
istabPage = false;
}
private void button11_Click(object sender, EventArgs e)
{
textBox7.Clear();
}
private void button13_Click(object sender, EventArgs e)
{
textBox9.Clear();
}
private void button14_Click(object sender, EventArgs e)
{
textBox11.Clear();
}
}
class HOOK
{
#region 私有變量
/// <summary>
/// 鍵盤(pán)鉤子句柄
/// </summary>
private IntPtr m_pKeyboardHook = IntPtr.Zero;
/// <summary>
/// 鉤子委托聲明
/// </summary>
/// <param name="nCode"></param>
/// <param name="wParam"></param>
/// <param name="lParam"></param>
/// <returns></returns>
public delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam);
/// <summary>
/// 鍵盤(pán)鉤子委托實(shí)例
/// </summary>
private HookProc m_KeyboardHookProcedure;
/// <summary>
/// 底層的鉤子變量
/// </summary>
public const int idHook = 13;
/// <summary>
/// 安裝鉤子
/// </summary>
/// <param name="idHook"></param>
/// <param name="lpfn"></param>
/// <param name="hInstance"></param>
/// <param name="threadId"></param>
/// <returns></returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr SetWindowsHookEx(int idHook, HookProc lpfn, IntPtr pInstance, int threadId);
/// <summary>
/// 卸載鉤子
/// </summary>
/// <param name="idHook"></param>
/// <returns></returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern bool UnhookWindowsHookEx(IntPtr pHookHandle);
/// <summary>
/// 傳遞鉤子
/// </summary>
/// <param name="pHookHandle">是您自己的鉤子函數(shù)的句柄。用該句柄可以遍歷鉤子鏈</param>
/// <param name="nCode">把傳入的參數(shù)簡(jiǎn)單傳給CallNextHookEx即可</param>
/// <param name="wParam">把傳入的參數(shù)簡(jiǎn)單傳給CallNextHookEx即可</param>
/// <param name="lParam"></param>
/// <returns></returns>
[DllImport("user32.dll", CallingConvention = CallingConvention.StdCall)]
public static extern int CallNextHookEx(IntPtr pHookHandle, int nCode, Int32 wParam, IntPtr lParam);
[StructLayout(LayoutKind.Sequential)]
public struct KeyMSG
{
public int vkCode;
public int scanCode;
public int flags;
public int time;
public int dwExtraInfo;
}
protected const int WM_QUERYENDSESSION = 0x0011;
protected const int WM_KEYDOWN = 0x100;
protected const int WM_KEYUP = 0x101;
protected const int WM_SYSKEYDOWN = 0x104;
protected const int WM_SYSKEYUP = 0x105;
protected const byte VK_SHIFT = 0x10;
protected const byte VK_CAPITAL = 0x14;
protected const byte VK_NUMLOCK = 0x90;
protected const byte VK_LSHIFT = 0xA0;
protected const byte VK_RSHIFT = 0xA1;
protected const int VK_LWIN = 91;
protected const int VK_RWIN = 92;
protected const byte VK_LCONTROL = 0xA2;
protected const byte VK_RCONTROL = 0x3;
protected const byte VK_LALT = 0xA4;
protected const byte VK_RALT = 0xA5;
protected const byte LLKHF_ALTDOWN = 0x20;
public bool Porwer = true;//是否屏蔽Porwer鍵
public static int pp = 0;//熱鍵的返回值
public static bool isSet = false;//是否設(shè)置屏蔽熱鍵,false為設(shè)置屏蔽的熱鍵
public static bool isHotkey = false;
public static bool isInstall = false;//是否安裝鉤子,true為安裝
#endregion
#region 事件的聲明
public event KeyEventHandler KeyDown;//鍵盤(pán)按下事件
public event KeyEventHandler KeyUp;//鍵盤(pán)松開(kāi)事件
public event KeyPressEventHandler KeyPress;//鍵盤(pán)單擊事件
#endregion
#region 方法
/// <summary>
/// 鉤子捕獲消息后,對(duì)消息進(jìn)行處理
/// </summary>
/// <param nCode="int">標(biāo)識(shí),鍵盤(pán)是否操作</param>
/// <param wParam="int">鍵盤(pán)的操作值</param>
/// <param lParam="IntPtr">指針</param>
private int KeyboardHookProc(int nCode, int wParam, IntPtr lParam)
{
if (nCode > -1 && (KeyDown != null || KeyUp != null || KeyPress != null))
{
KeyMSG keyboardHookStruct = (KeyMSG)Marshal.PtrToStructure(lParam, typeof(KeyMSG));//獲取鉤子的相關(guān)信息
KeyEventArgs e = new KeyEventArgs((Keys)(keyboardHookStruct.vkCode));//獲取KeyEventArgs事件的相磁信息
switch (wParam)
{
case WM_KEYDOWN://鍵盤(pán)按下操作
case WM_SYSKEYDOWN:
if (KeyDown != null)//如果加載了當(dāng)前事件
{
KeyDown(this, e);//調(diào)用該事件
}
break;
case WM_KEYUP://鍵盤(pán)松開(kāi)操作
case WM_SYSKEYUP:
if (KeyUp != null)//如果加載了當(dāng)前事件
{
KeyUp(this, e);//調(diào)用該事件
}
break;
}
}
return pp;//是否屏蔽當(dāng)前熱鍵,1為屏蔽,2為執(zhí)行
}
#endregion
#region 安裝、卸載鉤子
/// <summary>
/// 安裝鉤子
/// </summary>
/// <returns>是否安裝成功</returns>
public bool Start()
{
IntPtr pInstance = (IntPtr)4194304;//鉤子所在實(shí)例的句柄
if (this.m_pKeyboardHook == IntPtr.Zero)//如果鍵盤(pán)的句柄為空
{
this.m_KeyboardHookProcedure = new HookProc(KeyboardHookProc);//聲明一個(gè)托管鉤子
this.m_pKeyboardHook = SetWindowsHookEx(idHook, m_KeyboardHookProcedure, pInstance, 0);//安裝鉤子
if (this.m_pKeyboardHook == IntPtr.Zero)//如果安裝失敗
{
this.Stop();//卸載鉤子
return false;
}
}
isInstall = true;//安裝了鉤子
return true;
}
/// <summary>
/// 卸載鉤子
/// </summary>
/// <returns>是否卸載成功</returns>
public bool Stop()
{
if (isInstall == false)//如果沒(méi)有安裝鉤子
{
return true;
}
bool result = true;
if (this.m_pKeyboardHook != IntPtr.Zero)//如果安裝了鉤子
{
result = (UnhookWindowsHookEx(this.m_pKeyboardHook) && result);//卸載鉤子
this.m_pKeyboardHook = IntPtr.Zero;//清空鍵盤(pán)的鉤子句柄
}
return result;
}
#endregion 公共方法
}
partial class Form1
{
/// <summary>
/// 必需的設(shè)計(jì)器變量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的資源。
/// </summary>
/// <param name="disposing">如果應(yīng)釋放托管資源,為 true;否則為 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗體設(shè)計(jì)器生成的代碼
/// <summary>
/// 設(shè)計(jì)器支持所需的方法 - 不要
/// 使用代碼編輯器修改此方法的內(nèi)容。
/// </summary>
private void InitializeComponent()
{
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.button8 = new System.Windows.Forms.Button();
this.button7 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.textBox6 = new System.Windows.Forms.TextBox();
this.textBox5 = new System.Windows.Forms.TextBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.button16 = new System.Windows.Forms.Button();
this.button15 = new System.Windows.Forms.Button();
this.button14 = new System.Windows.Forms.Button();
this.button13 = new System.Windows.Forms.Button();
this.button12 = new System.Windows.Forms.Button();
this.button11 = new System.Windows.Forms.Button();
this.button10 = new System.Windows.Forms.Button();
this.button9 = new System.Windows.Forms.Button();
this.textBox12 = new System.Windows.Forms.TextBox();
this.textBox11 = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.textBox10 = new System.Windows.Forms.TextBox();
this.textBox9 = new System.Windows.Forms.TextBox();
this.textBox8 = new System.Windows.Forms.TextBox();
this.textBox7 = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(6, 5);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(252, 233);
this.tabControl1.TabIndex = 0;
this.tabControl1.Click += new System.EventHandler(this.tabControl1_Click);
//
// tabPage1
//
this.tabPage1.Controls.Add(this.button8);
this.tabPage1.Controls.Add(this.button7);
this.tabPage1.Controls.Add(this.button6);
this.tabPage1.Controls.Add(this.button5);
this.tabPage1.Controls.Add(this.button4);
this.tabPage1.Controls.Add(this.button3);
this.tabPage1.Controls.Add(this.button2);
this.tabPage1.Controls.Add(this.button1);
this.tabPage1.Controls.Add(this.label6);
this.tabPage1.Controls.Add(this.label5);
this.tabPage1.Controls.Add(this.label4);
this.tabPage1.Controls.Add(this.label3);
this.tabPage1.Controls.Add(this.label2);
this.tabPage1.Controls.Add(this.label1);
this.tabPage1.Controls.Add(this.textBox6);
this.tabPage1.Controls.Add(this.textBox5);
this.tabPage1.Controls.Add(this.textBox4);
this.tabPage1.Controls.Add(this.textBox3);
this.tabPage1.Controls.Add(this.textBox2);
this.tabPage1.Controls.Add(this.textBox1);
this.tabPage1.Location = new System.Drawing.Point(4, 21);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(244, 208);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "屏蔽熱鍵";
this.tabPage1.UseVisualStyleBackColor = true;
//
// button8
//
this.button8.Location = new System.Drawing.Point(198, 148);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(35, 23);
this.button8.TabIndex = 22;
this.button8.Text = "Del";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.button8_Click);
//
// button7
//
this.button7.Location = new System.Drawing.Point(198, 123);
this.button7.Name = "button7";
this.button7.Size = new System.Drawing.Size(35, 23);
this.button7.TabIndex = 21;
this.button7.Text = "Del";
this.button7.UseVisualStyleBackColor = true;
this.button7.Click += new System.EventHandler(this.button7_Click);
//
// button6
//
this.button6.Location = new System.Drawing.Point(198, 96);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(35, 23);
this.button6.TabIndex = 20;
this.button6.Text = "Del";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
//
// button5
//
this.button5.Location = new System.Drawing.Point(198, 69);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(35, 23);
this.button5.TabIndex = 19;
this.button5.Text = "Del";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// button4
//
this.button4.Location = new System.Drawing.Point(198, 44);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(35, 23);
this.button4.TabIndex = 18;
this.button4.Text = "Del";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// button3
//
this.button3.Location = new System.Drawing.Point(198, 18);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(35, 23);
this.button3.TabIndex = 17;
this.button3.Text = "Del";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(158, 179);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23);
this.button2.TabIndex = 16;
this.button2.Text = "確定";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Location = new System.Drawing.Point(77, 179);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 15;
this.button1.Text = "設(shè)置";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(13, 155);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(65, 12);
this.label6.TabIndex = 14;
this.label6.Text = "屏蔽熱鍵:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(13, 129);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(65, 12);
this.label5.TabIndex = 13;
this.label5.Text = "屏蔽熱鍵:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(13, 103);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(65, 12);
this.label4.TabIndex = 12;
this.label4.Text = "屏蔽熱鍵:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(13, 77);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(65, 12);
this.label3.TabIndex = 11;
this.label3.Text = "屏蔽熱鍵:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(13, 51);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12);
this.label2.TabIndex = 10;
this.label2.Text = "屏蔽熱鍵:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(13, 25);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 12);
this.label1.TabIndex = 9;
this.label1.Text = "屏蔽熱鍵:";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(84, 149);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(108, 21);
this.textBox6.TabIndex = 8;
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(84, 123);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(108, 21);
this.textBox5.TabIndex = 7;
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(84, 97);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(108, 21);
this.textBox4.TabIndex = 6;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(84, 71);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(108, 21);
this.textBox3.TabIndex = 5;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(84, 45);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(108, 21);
this.textBox2.TabIndex = 4;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(84, 19);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(108, 21);
this.textBox1.TabIndex = 3;
//
// tabPage2
//
this.tabPage2.Controls.Add(this.button16);
this.tabPage2.Controls.Add(this.button15);
this.tabPage2.Controls.Add(this.button14);
this.tabPage2.Controls.Add(this.button13);
this.tabPage2.Controls.Add(this.button12);
this.tabPage2.Controls.Add(this.button11);
this.tabPage2.Controls.Add(this.button10);
this.tabPage2.Controls.Add(this.button9);
this.tabPage2.Controls.Add(this.textBox12);
this.tabPage2.Controls.Add(this.textBox11);
this.tabPage2.Controls.Add(this.label12);
this.tabPage2.Controls.Add(this.label11);
this.tabPage2.Controls.Add(this.label10);
this.tabPage2.Controls.Add(this.textBox10);
this.tabPage2.Controls.Add(this.textBox9);
this.tabPage2.Controls.Add(this.textBox8);
this.tabPage2.Controls.Add(this.textBox7);
this.tabPage2.Controls.Add(this.label9);
this.tabPage2.Controls.Add(this.label8);
this.tabPage2.Controls.Add(this.label7);
this.tabPage2.Location = new System.Drawing.Point(4, 21);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(244, 208);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "設(shè)置熱鍵";
this.tabPage2.UseVisualStyleBackColor = true;
//
// button16
//
this.button16.Location = new System.Drawing.Point(200, 144);
this.button16.Name = "button16";
this.button16.Size = new System.Drawing.Size(36, 23);
this.button16.TabIndex = 19;
this.button16.Text = "...";
this.button16.UseVisualStyleBackColor = true;
this.button16.Click += new System.EventHandler(this.button16_Click);
//
// button15
//
this.button15.Location = new System.Drawing.Point(200, 91);
this.button15.Name = "button15";
this.button15.Size = new System.Drawing.Size(36, 23);
this.button15.TabIndex = 18;
this.button15.Text = "...";
this.button15.UseVisualStyleBackColor = true;
this.button15.Click += new System.EventHandler(this.button15_Click);
//
// button14
//
this.button14.Location = new System.Drawing.Point(200, 118);
this.button14.Name = "button14";
this.button14.Size = new System.Drawing.Size(36, 23);
this.button14.TabIndex = 17;
this.button14.Text = "Del";
this.button14.UseVisualStyleBackColor = true;
this.button14.Click += new System.EventHandler(this.button14_Click);
//
// button13
//
this.button13.Location = new System.Drawing.Point(200, 66);
this.button13.Name = "button13";
this.button13.Size = new System.Drawing.Size(36, 23);
this.button13.TabIndex = 16;
this.button13.Text = "Del";
this.button13.UseVisualStyleBackColor = true;
this.button13.Click += new System.EventHandler(this.button13_Click);
//
// button12
//
this.button12.Location = new System.Drawing.Point(200, 41);
this.button12.Name = "button12";
this.button12.Size = new System.Drawing.Size(36, 23);
this.button12.TabIndex = 15;
this.button12.Text = "...";
this.button12.UseVisualStyleBackColor = true;
this.button12.Click += new System.EventHandler(this.button12_Click);
//
// button11
//
this.button11.Location = new System.Drawing.Point(200, 15);
this.button11.Name = "button11";
this.button11.Size = new System.Drawing.Size(36, 23);
this.button11.TabIndex = 14;
this.button11.Text = "Del";
this.button11.UseVisualStyleBackColor = true;
this.button11.Click += new System.EventHandler(this.button11_Click);
//
// button10
//
this.button10.Location = new System.Drawing.Point(161, 176);
this.button10.Name = "button10";
this.button10.Size = new System.Drawing.Size(75, 23);
this.button10.TabIndex = 13;
this.button10.Text = "確定";
this.button10.UseVisualStyleBackColor = true;
this.button10.Click += new System.EventHandler(this.button10_Click);
//
// button9
//
this.button9.Location = new System.Drawing.Point(82, 176);
this.button9.Name = "button9";
this.button9.Size = new System.Drawing.Size(75, 23);
this.button9.TabIndex = 12;
this.button9.Text = "設(shè)置";
this.button9.UseVisualStyleBackColor = true;
this.button9.Click += new System.EventHandler(this.button9_Click);
//
// textBox12
//
this.textBox12.Location = new System.Drawing.Point(56, 145);
this.textBox12.Name = "textBox12";
this.textBox12.Size = new System.Drawing.Size(138, 21);
this.textBox12.TabIndex = 11;
//
// textBox11
//
this.textBox11.Location = new System.Drawing.Point(82, 119);
this.textBox11.Name = "textBox11";
this.textBox11.Size = new System.Drawing.Size(112, 21);
this.textBox11.TabIndex = 10;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(9, 151);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(41, 12);
this.label12.TabIndex = 9;
this.label12.Text = "任務(wù):";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(9, 125);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(65, 12);
this.label11.TabIndex = 8;
this.label11.Text = "設(shè)置熱鍵:";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(9, 47);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(41, 12);
this.label10.TabIndex = 7;
this.label10.Text = "任務(wù):";
//
// textBox10
//
this.textBox10.Location = new System.Drawing.Point(56, 92);
this.textBox10.Name = "textBox10";
this.textBox10.Size = new System.Drawing.Size(138, 21);
this.textBox10.TabIndex = 6;
//
// textBox9
//
this.textBox9.Location = new System.Drawing.Point(82, 67);
this.textBox9.Name = "textBox9";
this.textBox9.Size = new System.Drawing.Size(112, 21);
this.textBox9.TabIndex = 5;
//
// textBox8
//
this.textBox8.Location = new System.Drawing.Point(56, 42);
this.textBox8.Name = "textBox8";
this.textBox8.Size = new System.Drawing.Size(138, 21);
this.textBox8.TabIndex = 4;
//
// textBox7
//
this.textBox7.Location = new System.Drawing.Point(82, 16);
this.textBox7.Name = "textBox7";
this.textBox7.Size = new System.Drawing.Size(112, 21);
this.textBox7.TabIndex = 3;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(9, 98);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(41, 12);
this.label9.TabIndex = 2;
this.label9.Text = "任務(wù):";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(9, 72);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(65, 12);
this.label8.TabIndex = 1;
this.label8.Text = "設(shè)置熱鍵:";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(9, 22);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 0;
this.label7.Text = "設(shè)置熱鍵:";
//
// openFileDialog1
//
this.openFileDialog1.FileName = "openFileDialog1";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(262, 242);
this.Controls.Add(this.tabControl1);
this.Name = "Form1";
this.Text = "設(shè)置或屏蔽熱鍵";
this.Load += new System.EventHandler(this.Form1_Load);
this.FontChanged += new System.EventHandler(this.Form1_FontChanged);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.tabPage2.ResumeLayout(false);
this.tabPage2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.TextBox textBox10;
private System.Windows.Forms.TextBox textBox9;
private System.Windows.Forms.TextBox textBox8;
private System.Windows.Forms.TextBox textBox7;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox12;
private System.Windows.Forms.TextBox textBox11;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Button button16;
private System.Windows.Forms.Button button15;
private System.Windows.Forms.Button button14;
private System.Windows.Forms.Button button13;
private System.Windows.Forms.Button button12;
private System.Windows.Forms.Button button11;
private System.Windows.Forms.Button button10;
private System.Windows.Forms.Button button9;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
}
到此這篇關(guān)于C#實(shí)現(xiàn)設(shè)置或屏蔽熱鍵的方法詳解的文章就介紹到這了,更多相關(guān)C#熱鍵內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# wpf Grid中實(shí)現(xiàn)控件拖動(dòng)調(diào)整大小的示例代碼
本文主要介紹了C# wpf Grid中實(shí)現(xiàn)控件拖動(dòng)調(diào)整大小的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
c++ STL之list對(duì)結(jié)構(gòu)體的增加,刪除,排序等操作詳解
這篇文章主要介紹了c++ STL之list對(duì)結(jié)構(gòu)體的增加,刪除,排序等操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
Unity實(shí)現(xiàn)物體左右移動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)物體左右移動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
2019-08-08
C#使用linq語(yǔ)句查詢(xún)數(shù)組中以特定字符開(kāi)頭元素的方法
這篇文章主要介紹了C#使用linq語(yǔ)句查詢(xún)數(shù)組中以特定字符開(kāi)頭元素的方法,涉及C#使用linq進(jìn)行查詢(xún)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
2015-04-04 
