浏览代码

添加快捷键API

yuzhengyang 8 年之前
父节点
当前提交
a4b46ecc67

二进制
Fork.Net/.vs/Fork.Net/v15/sqlite3/storage.ide


+ 2 - 0
Fork.Net/Y.Utils/WindowsUtils/APIUtils/WindowsAPI.cs

@@ -115,5 +115,7 @@ namespace Y.Utils.WindowsUtils.APIUtils
             string processName = Process.GetProcessById(windowPid).ProcessName;
             string processName = Process.GetProcessById(windowPid).ProcessName;
             return processName ?? "";
             return processName ?? "";
         }
         }
+
+
     }
     }
 }
 }

+ 44 - 0
Fork.Net/Y.Utils/WindowsUtils/APIUtils/WindowsHotKeyAPI.cs

@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Y.Utils.WindowsUtils.APIUtils
+{
+    public class WindowsHotKeyAPI
+    {
+        //======================================
+        //如果函数执行成功,返回值不为0。
+        //如果函数执行失败,返回值为0。要得到扩展错误信息,调用GetLastError。
+        /// <summary>
+        /// 注册热键
+        /// </summary>
+        /// <param name="hWnd">要定义热键的窗口的句柄</param>
+        /// <param name="id">定义热键ID(不能与其它ID重复) </param>
+        /// <param name="fsModifiers">标识热键是否在按Alt、Ctrl、Shift、Windows等键时才会生效</param>
+        /// <param name="vk">定义热键的内容</param>
+        /// <returns></returns>
+        [DllImport("user32.dll", SetLastError = true)]
+        public static extern bool RegisterHotKey(IntPtr hWnd, int id, KeyModifiers fsModifiers, Keys vk);
+        /// <summary>
+        /// 删除热键
+        /// </summary>
+        /// <param name="hWnd">要取消热键的窗口的句柄</param>
+        /// <param name="id">要取消热键的ID</param>
+        /// <returns></returns>
+        [DllImport("user32.dll", SetLastError = true)]
+        public static extern bool UnregisterHotKey(IntPtr hWnd, int id);
+        //定义了辅助键的名称(将数字转变为字符以便于记忆,也可去除此枚举而直接使用数值)
+        [Flags()]
+        public enum KeyModifiers
+        {
+            None = 0,
+            Alt = 1,
+            Ctrl = 2,
+            Shift = 4,
+            WindowsKey = 8
+        }
+    }
+}

+ 1 - 0
Fork.Net/Y.Utils/Y.Utils.csproj

@@ -99,6 +99,7 @@
     <Compile Include="TaskServiceUtils\TestTaskService.cs" />
     <Compile Include="TaskServiceUtils\TestTaskService.cs" />
     <Compile Include="WindowsUtils\APIUtils\FormStyleAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\FormStyleAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\PermissionAPI.cs" />
     <Compile Include="WindowsUtils\APIUtils\PermissionAPI.cs" />
+    <Compile Include="WindowsUtils\APIUtils\WindowsHotKeyAPI.cs" />
     <Compile Include="WindowsUtils\FormUtils\FormManTool.cs" />
     <Compile Include="WindowsUtils\FormUtils\FormManTool.cs" />
     <Compile Include="WindowsUtils\InfoUtils\ClipboardTool.cs" />
     <Compile Include="WindowsUtils\InfoUtils\ClipboardTool.cs" />
     <Compile Include="DataUtils\EncryptUtils\AesTool.cs" />
     <Compile Include="DataUtils\EncryptUtils\AesTool.cs" />