C#语言实例源码系列-实现热键屏幕和设置热键

news2024/11/25 20:16:52
专栏分享
  • 点击跳转=>Unity3D特效百例
  • 点击跳转=>案例项目实战源码
  • 点击跳转=>游戏脚本-辅助自动化
  • 点击跳转=>Android控件全解手册

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

在这里插入图片描述

👉实践过程

😜效果

在这里插入图片描述

😜代码

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    HOOK Hook = new HOOK();//实例化自定义类HOOK
    public static string[] Arrstr = new string[6];//记录屏蔽的热键
    public static string[,] ArrHotkey = new string[3,2];//记录自定义的热键
    public static bool istabPage = true;//判断是设置热键,还是屏蔽热键
    bool isShift = false;//判断是否为组合键
    string front = "";//记录组合键前一键的值
    string tem_s = "";//记录单键或组合键的值
    string tem_dir = "";//记录路径
    public static int tem_Set = 0;//标识,判断当前键是否为屏蔽的热键
    public static int tem_Hotkey = 0;//标识,判断当前键是否为自定义的热键

    private void Form1_Load(object sender, EventArgs e)
    {
        Hook.KeyDown += new KeyEventHandler(Hook_KeyDown);//加载键盘的按下事件
        Hook.KeyUp += new KeyEventHandler(Hook_KeyUp);//加载键盘的松开事件
        Hook.KeyPress += new KeyPressEventHandler(Hook_KeyPress);//加载键盘的单击事件
        HOOK.isSet = false;//判断是否设置热键
        //对记录屏蔽热键的数组进行初始化
        for (int i = 0; i < 6; i++)
        {
            Arrstr[i] = "";
        }
        //对记录设置热键的数组进行初始化
        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)
    {
        //在单击按键时,是否对该键进行屏蔽
        AddKeyboardEvent("KeyPress", "", e.KeyChar.ToString(), "", "", "");
    }

    void Hook_KeyUp(object sender, KeyEventArgs e)
    {
        //在按下按钮时,是否对该键进行屏蔽
        AddKeyboardEvent("KeyUp", e.KeyCode.ToString(), "", e.Shift.ToString(), e.Alt.ToString(), e.Control.ToString());
    }

    void Hook_KeyDown(object sender, KeyEventArgs e)
    {
        //在松开组合键时,是否对该组合键进行屏蔽
        AddKeyboardEvent("KeyDown", e.KeyCode.ToString(), "", e.Shift.ToString(), e.Alt.ToString(), e.Control.ToString());
    }

    /// <summary>
    /// 用于屏蔽指定的系统热键,以及执行自定义热键
    /// </summary>
    /// <param eventType="string">按键操作的类型</param>
    /// <param keyCode="string">键名称</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);//获取当前键的键值
        if (eventType == "KeyDown")//如果当前为按下键
        {
            isShift = true;
            if (tem_s == "")//如果当前不是组合键
            {
                if (HOOK.isSet == false)//设置屏蔽
                {
                    if (istabPage == true)//如果是“屏蔽热键”选项卡
                        SetTextBox(keyvalue);//在指定文本框中显示热键
                }
                else
                {
                    //遍历当前热键是否为屏蔽的热键
                    for (int i = 0; i < 6; i++)
                    {
                        if (Arrstr[i] == tem_s)//如果是屏蔽的热键
                        {
                            tem_Set = 1;//当前为屏蔽的热键
                            break;//退出本次循环
                        }
                        else
                            tem_Set = 0;//不是屏蔽的热键
                    }
                }
                if (HOOK.isHotkey == false)//设置自定义热键
                {
                    if (istabPage == false)//如果当前是设置自定义热键
                        SetTextBox(keyvalue);//在指定的文本框显示热键
                }
                else
                {
                    //遍历当前热键是否为自定义热键
                    for (int i = 0; i < 3; i++)
                    {
                        if (ArrHotkey[i, 0] == tem_s)//如果是自定义热键
                        {
                            tem_Hotkey = 1;//屏蔽当前热键
                            try
                            {
                                //如果自定义热已设置
                                if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())
                                    System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//执行自定义热键的相关操作
                                tem_dir = ArrHotkey[i, 1].Trim();//记录执行的路径
                            }
                            catch
                            {
                                MessageBox.Show("文件无法打开。");
                            }

                            break;
                        }
                        else
                            tem_Hotkey = 0;//执行当前热键
                    }
                }
            }
        }
        if (eventType == "KeyUp")//如果当前是键盘松开操作
        {
            isShift = false;//没有组合键
            front = "";//清空组合键的前一个键值
            tem_dir = "";//清空自定义热键的操作路径

        }
        if (isShift == true && eventType == "KeyDown")//如果是键盘按下操作
        {

            if (front != keyvalue)
            {
                tem_s = "";//清空键或组合键的值
                if (front == "")//如果不是组合键
                {
                    tem_s = keyvalue;//获取当前键的值
                    if (HOOK.isSet == false)//设置屏蔽
                    {
                        if (istabPage == true)//如果当前为“屏蔽热键”选项卡
                        {
                            SetTextBox("");//清空显示热键的文本框
                            SetTextBox(keyvalue);//将热键显示在指定的文本框中
                        }
                    }
                    else
                    {
                        //遍历要屏蔽的热键
                        for (int i = 0; i < 6; i++)
                        {
                            if (Arrstr[i] == tem_s)//如果存在
                            {
                                tem_Set = 1;//屏蔽系统热键
                                break;
                            }
                            else
                                tem_Set = 0;//不屏蔽
                        }
                    }
                    if (HOOK.isHotkey == false)//设置热键
                    {
                        if (istabPage == false)//如果是“设置热键”选项卡
                            SetTextBox(keyvalue);//在文本框中显示当前热键
                    }
                    else
                    {
                        //遍历自定义热键
                        for (int i = 0; i < 3; i++)
                        {
                            if (ArrHotkey[i, 0] == tem_s)//如果存在
                            {
                                tem_Hotkey = 1;//屏蔽当前热键
                                try
                                {
                                    if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())//如果对自定义热键进行了设置
                                        System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//执行自定义热键的操作
                                    tem_dir = ArrHotkey[i, 1].Trim();//记录路径
                                }
                                catch
                                {
                                    MessageBox.Show("文件无法打开。");
                                }

                                break;
                            }
                            else
                                tem_Hotkey = 0;//执行自定义热键
                        }
                    }
                }
                else//如果当前是组合键
                {
                    tem_s = front + "+" + keyvalue;//记录组合键
                    if (HOOK.isSet == false)//设置屏蔽
                    {
                        if (istabPage == true)//如果当前为“屏蔽热键”选项卡
                        {
                            SetTextBox("");//清空指定的文本框
                            SetTextBox(front + "+" + keyvalue);//在文本框中显示屏蔽热键
                        }
                    }
                    else
                    {
                        //遍历设置的自定义热键
                        for (int i = 0; i < 6; i++)
                        {
                            if (Arrstr[i] == tem_s)//如果存在
                            {
                                tem_Set = 1;//屏蔽当前热键
                                break;//退出本次循环
                            }
                            else
                                tem_Set = 0;//执行当前热键
                        }
                    }
                    if (HOOK.isHotkey == false)//设置热键
                    {
                        if (istabPage == false)//如果当前为“设置热键”选项卡
                        {
                            SetTextBox("");//清空显示热键的文本框
                            SetTextBox(front + "+" + keyvalue);//在指定的文本框中显示组合键
                        }
                    }
                    else
                    {
                        //遍历自定义热键
                        for (int i = 0; i < 3; i++)
                        {
                            if (ArrHotkey[i, 0] == tem_s)//如果是设置的自定义组合热键
                            {
                                tem_Hotkey = 1;//屏蔽当前组合热键
                                try
                                {
                                    if (ArrHotkey[i, 1].Trim().Length != 0 && tem_dir != ArrHotkey[i, 1].Trim())//如果对自定义组合热键进行了设置
                                        System.Diagnostics.Process.Start(ArrHotkey[i, 1]);//执行自定义组合热键的操作
                                    tem_dir = ArrHotkey[i, 1].Trim();//记录路径
                                }
                                catch
                                {
                                    MessageBox.Show("文件无法打开。");
                                }

                                break;
                            }
                            else
                                tem_Hotkey = 0;//执行当前组合热键
                        }
                    }
                    tem_s = "";//清空热键
                }
            }
            front = keyvalue;//记录组合键的前一个键值
        }
        if (tem_Hotkey > 0 || tem_Set > 0)//如果屏蔽系统热键或自定义热键
            HOOK.pp = 1;//屏蔽
        else
            HOOK.pp = 0;//执行

        if (HOOK.isSet == false)//设置屏蔽的系统热键
            HOOK.pp = 1;
        if (HOOK.isHotkey == false)//设置屏蔽的自定义热键
            HOOK.pp = 1;
    }

    /// <summary>
    /// 在指定文本框中显示要屏蔽或设置的热键
    /// </summary>
    /// <param value="string">热键</param>
    public void SetTextBox(string value)
    {
        if (textBox1.Focused)//如果获取焦点
            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>
    /// 通过热键获取其指定的名称
    /// </summary>
    /// <param value="string">热键</param>
    /// <return b="bool">是否有当前热键</return>
    /// <return keyvalue="string">当前热键的指定名称</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的键名称
        {
            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;//返回除以上键值的键名称
    }

    private void button1_Click(object sender, EventArgs e)
    {
        //显示当前已设置的要屏蔽的热键键值
        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>
        /// 键盘钩子句柄
        /// </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>
        /// 键盘钩子委托实例
        /// </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">是您自己的钩子函数的句柄。用该句柄可以遍历钩子链</param>
        /// <param name="nCode">把传入的参数简单传给CallNextHookEx即可</param>
        /// <param name="wParam">把传入的参数简单传给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;//是否设置屏蔽热键,false为设置屏蔽的热键
        public static bool isHotkey = false;
        public static bool isInstall = false;//是否安装钩子,true为安装
        #endregion

        #region 事件的声明
        public event KeyEventHandler KeyDown;//键盘按下事件
        public event KeyEventHandler KeyUp;//键盘松开事件
        public event KeyPressEventHandler KeyPress;//键盘单击事件
        #endregion

        #region 方法
        /// <summary>
        /// 钩子捕获消息后,对消息进行处理
        /// </summary>
        /// <param nCode="int">标识,键盘是否操作</param> 
        /// <param wParam="int">键盘的操作值</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));//获取钩子的相关信息
                KeyEventArgs e = new KeyEventArgs((Keys)(keyboardHookStruct.vkCode));//获取KeyEventArgs事件的相磁信息
                switch (wParam)
                {
                    case WM_KEYDOWN://键盘按下操作
                    case WM_SYSKEYDOWN:
                        if (KeyDown != null)//如果加载了当前事件
                        {
                            KeyDown(this, e);//调用该事件
                        }
                        break;
                    case WM_KEYUP://键盘松开操作
                    case WM_SYSKEYUP:
                        if (KeyUp != null)//如果加载了当前事件
                        {
                            KeyUp(this, e);//调用该事件
                        }
                        break;
                }
            }
            return pp;//是否屏蔽当前热键,1为屏蔽,2为执行
        }
        #endregion

        #region 安装、卸载钩子

        /// <summary>
        /// 安装钩子
        /// </summary>
        /// <returns>是否安装成功</returns>
        public bool Start()
        {
            IntPtr pInstance = (IntPtr)4194304;//钩子所在实例的句柄
            if (this.m_pKeyboardHook == IntPtr.Zero)//如果键盘的句柄为空
            {
                this.m_KeyboardHookProcedure = new HookProc(KeyboardHookProc);//声明一个托管钩子
                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)//如果没有安装钩子
            {
                return true;
            }
            bool result = true;
            if (this.m_pKeyboardHook != IntPtr.Zero)//如果安装了钩子
            {
                result = (UnhookWindowsHookEx(this.m_pKeyboardHook) && result);//卸载钩子
                this.m_pKeyboardHook = IntPtr.Zero;//清空键盘的钩子句柄
            }
            return result;
        }
        #endregion 公共方法
    }
partial class Form1
{
    /// <summary>
    /// 必需的设计器变量。
    /// </summary>
    private System.ComponentModel.IContainer components = null;

    /// <summary>
    /// 清理所有正在使用的资源。
    /// </summary>
    /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
    protected override void Dispose(bool disposing)
    {
        if (disposing && (components != null))
        {
            components.Dispose();
        }
        base.Dispose(disposing);
    }

    #region Windows 窗体设计器生成的代码

    /// <summary>
    /// 设计器支持所需的方法 - 不要
    /// 使用代码编辑器修改此方法的内容。
    /// </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 = "设置";
        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 = "设置热键";
        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 = "设置";
        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 = "任务:";
        // 
        // 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 = "设置热键:";
        // 
        // 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 = "任务:";
        // 
        // 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 = "任务:";
        // 
        // 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 = "设置热键:";
        // 
        // 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 = "设置热键:";
        // 
        // 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 = "设置或屏蔽热键";
        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;

}

需要的再直接Call我,直接发。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/92749.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ 初阶 文件操作和io流

作者&#xff1a;小萌新 专栏&#xff1a;C初阶 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;简单介绍C中的文件操作和io流 文件操作和io流C语言中的输入和输出流是什么&#xff1f;Cio流C标准io流C中流的特性C文件io流以二进制形…

Jenkins全局安全配置

文章目录一、进入全局安全设置页面二、各选项功能Disable remember me&#xff08;禁用记住我&#xff09;Security Realm(安全域)Delegate to servlet container&#xff08;servlet 容器代理&#xff09;Jenkins’ own user database&#xff08;Jenkins 专有用户数据库&…

Pr:导出页面之预览与摘要窗口

使用“预览”窗口&#xff0c;可在导出前预览媒体&#xff0c;设置自定义的持续时间&#xff0c;如果导出为不同的帧大小&#xff0c;还可以控制源视频适应输出帧的方式。使用“摘要”窗口&#xff0c;可以快速查看源及输出的音视频信息。◆ ◆ ◆预览窗口范围Range可自定义导…

居家办公如何避免数据泄露?

随着疫情管控政策的调整&#xff0c;越来越多的“小阳人”出现&#xff0c;企业不得不面对员工在家远程办公。 面对突如其来的远程办公&#xff0c;很多企业都没有做好准备&#xff0c;甚至采取微信、QQ、互联网邮箱、远程会议等方式传递秘密信息。但是&#xff0c;这样的居家…

ChatGpt详细注册流程

ChatGpt详细注册流程ChatGpt的网址&#xff1a;直接点击我 点击链接后向下滑动看到TRY CHATGPT如下图所示&#xff1a; 点击TRY CHATGPT后会跳转如下图界面&#xff1a; 点击Log in(登录)如下图&#xff1a; 因为首次登录你肯定是没有账号的所以需要先点击红框框出的Sign up…

QQ注册界面仿写(HTML+CSS+JS)

✅作者简介&#xff1a;热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏&#xff1a;前端案例分…

整合当地商圈资源,异业联盟打出促消费花式组合拳

如今的市场竞争白热化&#xff0c;大商家逐渐形成垄断的格局。许多行业的第一品牌跟第二品牌主宰着市场&#xff0c;为了打破这种局面&#xff0c;小商家联合起来对抗大商家&#xff0c;所以异业联盟因此诞生。那么建立异业联盟对大家有什么好处呢&#xff1f; 异业联盟针对于商…

RK3568平台开发系列讲解(工具命令篇)Android Debug Bridge常用命令

🚀返回专栏总目录 文章目录 一、工作常用的adb命令二、ADB的原理沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ADB-Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb)…

uniapp 之 扫普通二维码进入小程序

前言 因项目的需求&#xff0c;需要我完成 在微信的扫一扫中&#xff0c;扫后端定义的二维码进入小程序中 这个需求说简单也很简单&#xff0c;说难也不难&#xff0c;就是花费了我几天的时间 需要在 开发 ---> 开发管理 下的开发设置 中的 一直往下滑 直到出现 扫普通…

11、Redis_事务_秒杀案例

文章目录11、Redis_事务_秒杀案例11.1 解决计数器和人员记录的事务操作11.2 Redis事务--秒杀并发模拟11.2.1 联网11.2.2 无网络11.2.3 测试及结果11.2.3.1 通过ab测试11.2.3.2 超卖11.3 超卖问题11.4 利用乐观锁淘汰用户&#xff0c;解决超卖问题。11.5 继续增加并发测试11.5.1…

发布一个简单的npm包简单流程(图文并茂,你必懂)

目录 前言&#xff1a; 1.发布前的代码基本配置 A.创建文件夹 B.npm init/npm init -y初始化项目 C.配置package.json文件 D.创建index.js文件 E.创建README.md文件 F.最基本的目录结构 2.账号注册 3.登录npm账号 A.使用cmd进行登录 B.使用nrm工具 C.成功登录 4.发…

1、浮动(float)

提示&#xff1a;我们一般网页上下用标准流&#xff0c;左右用浮动来写 1.1传统网页布局三种方式 网页布局本质——用css来摆放盒子&#xff0c;把盒子摆放到相应位置。css提供了三种传统布局简单方式&#xff0c;说就是盒子如何进行排列顺序&#xff1a; 普通流&#xff08;或…

面试蚂蚁(P7)竟被MySQL难倒,奋发图强后二次面试入职蚂蚁金服

爱因斯坦说过“耐心和恒心总会得到报酬的”&#xff0c;我也一直把这句话当做自己的座右铭&#xff0c;这句箴言在今年也彻底在“我”身上实现了。 每一个程序员都拥有一座大厂梦&#xff0c;我也不例外&#xff0c;去年面试蚂蚁金服&#xff0c;竟然被MySQL问倒了&#xff0c…

【Flask框架】——16 Jinja2模板

文章目录Jinja2模板一、Jinja2模板介绍1.模板传参2.语法二、表达式三、控制语句1.条件判断语句2.for循环语句&#xff1a;四、过滤器1.什么是过滤器2.字符串的过滤器3.数值过滤器4.列表相关过滤器5.字典相关过滤器6.自定义过滤器五、测试器1.Jinja2中内置的测试器2.自定义测试器…

配置NTP时间同步之Linux

一&#xff1a;NTP是网络时间同步协议&#xff0c;就是用来同步网络中各个计算机的时间的协议。 二&#xff1a;NTP服务端配置 1.检查系统是否安装了NTP包&#xff08;Linux一般自带NTP4.2&#xff09;&#xff0c;没有安装我们直接使用yum命令在线安装&#xff1a; yum inst…

Spring Boot整合Swagger3.0及Knife4j

一、什么是 Swagger Swagger是一组围绕 OpenAPI 规范构建的开源工具&#xff0c;可帮助您设计、构建、记录和使用 REST API。主要的 Swagger 工具包括&#xff1a; Swagger Editor – 基于浏览器的编辑器&#xff0c;您可以在其中编写 OpenAPI 规范。 Swagger UI – 将 OpenA…

非零基础自学Golang 第7章 函数 7.8 知识拓展

非零基础自学Golang 文章目录非零基础自学Golang第7章 函数7.8 知识拓展7.8.1 函数参数传递的本质7.8.2 Go内置函数第7章 函数 7.8 知识拓展 7.8.1 函数参数传递的本质 在讲述参数传递前&#xff0c;我们首先要了解两个基本概念&#xff1a;值传递和引用传递。 值传递&…

API接口DTO测试数据构造的一个方式

自动化测试中&#xff0c;经常需要构造请求参数&#xff0c;例如JSON格式的参数&#xff0c;简单的好说&#xff0c;可以手工修改或是用 Postman、Jmeter 等工具结合简单的代码进行处理&#xff0c; 但当数据传输对象&#xff08;DTO&#xff09;很复杂&#xff0c;部分字段依赖…

同样是项目经理,为啥就干不过他?

早上好&#xff0c;我是老原。 很多人和我抱怨说&#xff0c;做工作太难了&#xff0c;领导针对我&#xff0c;同样都是项目经理&#xff0c;就老是挑我的刺&#xff0c;找我的麻烦。 其实在我看来&#xff0c;工作其实没有那么难&#xff0c;80%的工作问题&#xff0c;都是沟…

C#语言实例源码系列-虚拟键盘

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…