{"id":30752,"date":"2024-11-25T16:21:41","date_gmt":"2024-11-25T08:21:41","guid":{"rendered":"https:\/\/fwq.ai\/blog\/30752\/"},"modified":"2024-11-25T16:21:41","modified_gmt":"2024-11-25T08:21:41","slug":"%e7%94%a8%e5%be%ae%e4%bf%a1%e7%94%b5%e8%84%91%e7%ab%af%e6%88%aa%e5%9b%bedll%e5%ba%93%e6%9d%a5%e5%ae%9e%e7%8e%b0%e5%be%ae%e4%bf%a1%e6%88%aa%e5%9b%be%e5%8a%9f%e8%83%bd","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/30752\/","title":{"rendered":"\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd"},"content":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u4f7f\u7528\u5fae\u4fe1pc\u7aef\u7684\u622a\u56fedll\u5e93\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b<\/p>\n<p>\u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u622a\u56fedll\u5e93\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd \uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b<\/p>\n<p>ScreenForm.cs\u4ee3\u7801:<\/p>\n<p><\/p>\n<pre>using&nbsp;System;\r\nusing&nbsp;System.Collections.Generic;\r\nusing&nbsp;System.Runtime.InteropServices;\r\nusing&nbsp;System.Windows.Forms;\r\n\r\nnamespace&nbsp;screenT\r\n{\r\n&nbsp;&nbsp;public&nbsp;partial&nbsp;class&nbsp;ScreenForm&nbsp;:&nbsp;Form\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;ScreenForm()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;ScreenCapture()\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DLL.PrScrn();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;override&nbsp;void&nbsp;WndProc(ref&nbsp;Message&nbsp;m)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.WndProc(ref&nbsp;m);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.ProcessHotKey(m);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;button1_Click(object&nbsp;sender,&nbsp;EventArgs&nbsp;e)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DLL.PrScrn();\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;Form1_Load(object&nbsp;sender,&nbsp;EventArgs&nbsp;e)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6ce8\u518c\u70ed\u952e(\u7a97\u4f53\u53e5\u67c4,\u70ed\u952eID,\u8f85\u52a9\u952e,\u5b9e\u952e)&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.Regist(Handle,&nbsp;HotkeyModifiers.MOD_ALT,&nbsp;Keys.F1,&nbsp;ScreenCapture);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;te)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(\"Alt&nbsp;+&nbsp;A&nbsp;\u70ed\u952e\u88ab\u5360\u7528\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;Form1_FormClosed(object&nbsp;sender,&nbsp;FormClosedEventArgs&nbsp;e)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6ce8\u6d88\u70ed\u952e(\u53e5\u67c4,\u70ed\u952eID)&nbsp;&nbsp;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.UnRegist(Handle,&nbsp;ScreenCapture);\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;public&nbsp;class&nbsp;DLL\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(\"PrScrn.dll\",&nbsp;EntryPoint&nbsp;=&nbsp;\"PrScrn\")]\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;extern&nbsp;int&nbsp;PrScrn();&nbsp;\/\/\u4e0edll\u4e2d\u4e00\u81f4&nbsp;&nbsp;\r\n&nbsp;&nbsp;}\r\n\r\n\r\n&nbsp;&nbsp;public&nbsp;static&nbsp;class&nbsp;Hotkey\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;#region&nbsp;\u7cfb\u7edfapi\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(\"user32.dll\")]\r\n&nbsp;&nbsp;&nbsp;&nbsp;[return:&nbsp;MarshalAs(UnmanagedType.Bool)]\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;extern&nbsp;bool&nbsp;RegisterHotKey(IntPtr&nbsp;hWnd,&nbsp;int&nbsp;id,&nbsp;HotkeyModifiers&nbsp;fsModifiers,&nbsp;Keys&nbsp;vk);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;[DllImport(\"user32.dll\")]\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;extern&nbsp;bool&nbsp;UnregisterHotKey(IntPtr&nbsp;hWnd,&nbsp;int&nbsp;id);\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;#endregion\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;delegate&nbsp;void&nbsp;HotKeyCallBackHanlder();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;const&nbsp;int&nbsp;WM_HOTKEY&nbsp;=&nbsp;0x312;\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;int&nbsp;keyid&nbsp;=&nbsp;10;\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;static&nbsp;readonly&nbsp;Dictionary&lt;int&gt;&nbsp;keymap&nbsp;=\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;Dictionary&lt;int&gt;();\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&nbsp;&nbsp;\u6ce8\u518c\u5feb\u6377\u952e\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;\/summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u6301\u6709\u5feb\u6377\u952e\u7a97\u53e3\u7684\u53e5\u67c4\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u7ec4\u5408\u952e\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u5feb\u6377\u952e\u7684\u865a\u62df\u952e\u7801\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u56de\u8c03\u51fd\u6570\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;Regist(IntPtr&nbsp;hWnd,&nbsp;HotkeyModifiers&nbsp;fsModifiers,&nbsp;Keys&nbsp;vk,&nbsp;HotKeyCallBackHanlder&nbsp;callBack)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;id&nbsp;=&nbsp;keyid++;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!RegisterHotKey(hWnd,&nbsp;id,&nbsp;fsModifiers,&nbsp;vk))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;new&nbsp;Exception(\"regist&nbsp;hotkey&nbsp;fail.\");\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keymap[id]&nbsp;=&nbsp;callBack;\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&nbsp;&nbsp;\u6ce8\u9500\u5feb\u6377\u952e\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;\/summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u6301\u6709\u5feb\u6377\u952e\u7a97\u53e3\u7684\u53e5\u67c4\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;param&gt;\u56de\u8c03\u51fd\u6570\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;UnRegist(IntPtr&nbsp;hWnd,&nbsp;HotKeyCallBackHanlder&nbsp;callBack)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(var&nbsp;var&nbsp;in&nbsp;keymap)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(var.Value&nbsp;==&nbsp;callBack)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UnregisterHotKey(hWnd,&nbsp;var.Key);\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&nbsp;&nbsp;\u5feb\u6377\u952e\u6d88\u606f\u5904\u7406\r\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\/&nbsp;&lt;\/summary&gt;\r\n&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;ProcessHotKey(Message&nbsp;m)\r\n&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(m.Msg&nbsp;==&nbsp;WM_HOTKEY)\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;id&nbsp;=&nbsp;m.WParam.ToInt32();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HotKeyCallBackHanlder&nbsp;callback;\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(keymap.TryGetValue(id,&nbsp;out&nbsp;callback))\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;callback();\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;&nbsp;&nbsp;}\r\n&nbsp;&nbsp;}\r\n\r\n&nbsp;&nbsp;public&nbsp;enum&nbsp;HotkeyModifiers\r\n&nbsp;&nbsp;{\r\n&nbsp;&nbsp;&nbsp;&nbsp;MOD_ALT&nbsp;=&nbsp;0x1,\r\n&nbsp;&nbsp;&nbsp;&nbsp;MOD_CONTROL&nbsp;=&nbsp;0x2,\r\n&nbsp;&nbsp;&nbsp;&nbsp;MOD_SHIFT&nbsp;=&nbsp;0x4,\r\n&nbsp;&nbsp;&nbsp;&nbsp;MOD_WIN&nbsp;=&nbsp;0x8\r\n&nbsp;&nbsp;}\r\n}&lt;\/int&gt;&lt;\/int&gt;<\/pre>\n<p>  \u767b\u5f55\u540e\u590d\u5236   <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/007\/58ee25d3ead668e6a7fd4057023919f0-0.jpg\" class=\"aligncenter\" title=\"\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\u63d2\u56fe\" alt=\"\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\u63d2\u56fe\" \/><\/p>\n<p>\u8fd0\u884c\u7ed3\u679c\u5982\u56fe:<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/007\/66ce0b5f39ac2c74efdc78ab60a2d034-1.jpg\" class=\"aligncenter\" title=\"\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\u63d2\u56fe1\" alt=\"\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\u63d2\u56fe1\" \/><\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u7528\u5fae\u4fe1\u7535\u8111\u7aef\u622a\u56fedll\u5e93\u6765\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u7bc7\u6587\u7ae0\u4e3b\u8981\u4e3a\u5927\u5bb6\u8be6\u7ec6\u4ecb\u7ecd\u4e86\u4f7f\u7528\u5fae\u4fe1pc\u7aef\u7684\u622a\u56fedll\u5e93\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd\uff0c\u5177\u6709\u4e00\u5b9a\u7684\u53c2\u8003\u4ef7\u503c\uff0c\u611f\u5174\u8da3\u7684\u5c0f\u4f19\u4f34\u4eec\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b \u672c\u6587\u5b9e\u4f8b\u4e3a\u5927\u5bb6\u5206\u4eab\u4e86\u622a\u56fedll\u5e93\u5b9e\u73b0\u5fae\u4fe1\u622a\u56fe\u529f\u80fd \uff0c\u4f9b\u5927\u5bb6\u53c2\u8003\uff0c\u5177\u4f53\u5185\u5bb9\u5982\u4e0b ScreenForm.cs\u4ee3\u7801: using&nbsp;System; using&nbsp;System.Collections.Generic; using&nbsp;System.Runtime.InteropServices; using&nbsp;System.Windows.Forms; namespace&nbsp;screenT { &nbsp;&nbsp;public&nbsp;partial&nbsp;class&nbsp;ScreenForm&nbsp;:&nbsp;Form &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;ScreenForm() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InitializeComponent(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;ScreenCapture() &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DLL.PrScrn(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;protected&nbsp;override&nbsp;void&nbsp;WndProc(ref&nbsp;Message&nbsp;m) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base.WndProc(ref&nbsp;m); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.ProcessHotKey(m); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;button1_Click(object&nbsp;sender,&nbsp;EventArgs&nbsp;e) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DLL.PrScrn(); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;Form1_Load(object&nbsp;sender,&nbsp;EventArgs&nbsp;e) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6ce8\u518c\u70ed\u952e(\u7a97\u4f53\u53e5\u67c4,\u70ed\u952eID,\u8f85\u52a9\u952e,\u5b9e\u952e)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.Regist(Handle,&nbsp;HotkeyModifiers.MOD_ALT,&nbsp;Keys.F1,&nbsp;ScreenCapture); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp;(Exception&nbsp;te) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&#8220;Alt&nbsp;+&nbsp;A&nbsp;\u70ed\u952e\u88ab\u5360\u7528&#8221;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;Form1_FormClosed(object&nbsp;sender,&nbsp;FormClosedEventArgs&nbsp;e) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6ce8\u6d88\u70ed\u952e(\u53e5\u67c4,\u70ed\u952eID)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hotkey.UnRegist(Handle,&nbsp;ScreenCapture); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;} &nbsp;&nbsp;public&nbsp;class&nbsp;DLL &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;[DllImport(&#8220;PrScrn.dll&#8221;,&nbsp;EntryPoint&nbsp;=&nbsp;&#8220;PrScrn&#8221;)] &nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;extern&nbsp;int&nbsp;PrScrn();&nbsp;\/\/\u4e0edll\u4e2d\u4e00\u81f4&nbsp;&nbsp; &nbsp;&nbsp;} &nbsp;&nbsp;public&nbsp;static&nbsp;class&nbsp;Hotkey &nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;#region&nbsp;\u7cfb\u7edfapi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-30752","post","type-post","status-publish","format-standard","hentry","category-19"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/30752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=30752"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/30752\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=30752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=30752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=30752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}