使用微信PC端的截圖dll庫(kù)實(shí)現(xiàn)微信截圖功能
本文實(shí)例為大家分享了截圖dll庫(kù)實(shí)現(xiàn)微信截圖功能 ,供大家參考,具體內(nèi)容如下
ScreenForm.cs代碼:
using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Windows.Forms; namespace screenT { public partial class ScreenForm : Form { public ScreenForm() { InitializeComponent(); } private void ScreenCapture() { DLL.PrScrn(); } protected override void WndProc(ref Message m) { base.WndProc(ref m); Hotkey.ProcessHotKey(m); } private void button1_Click(object sender, EventArgs e) { DLL.PrScrn(); } private void Form1_Load(object sender, EventArgs e) { //注冊(cè)熱鍵(窗體句柄,熱鍵ID,輔助鍵,實(shí)鍵) try { Hotkey.Regist(Handle, HotkeyModifiers.MOD_ALT, Keys.F1, ScreenCapture); } catch (Exception te) { MessageBox.Show("Alt + A 熱鍵被占用"); } } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { //注消熱鍵(句柄,熱鍵ID) Hotkey.UnRegist(Handle, ScreenCapture); } } public class DLL { [DllImport("PrScrn.dll", EntryPoint = "PrScrn")] public static extern int PrScrn(); //與dll中一致 } public static class Hotkey { #region 系統(tǒng)api [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool RegisterHotKey(IntPtr hWnd, int id, HotkeyModifiers fsModifiers, Keys vk); [DllImport("user32.dll")] private static extern bool UnregisterHotKey(IntPtr hWnd, int id); #endregion public delegate void HotKeyCallBackHanlder(); private const int WM_HOTKEY = 0x312; private static int keyid = 10; private static readonly Dictionary<int, HotKeyCallBackHanlder> keymap = new Dictionary<int, HotKeyCallBackHanlder>(); /// <summary> /// 注冊(cè)快捷鍵 /// </summary> /// <param name="hWnd">持有快捷鍵窗口的句柄</param> /// <param name="fsModifiers">組合鍵</param> /// <param name="vk">快捷鍵的虛擬鍵碼</param> /// <param name="callBack">回調(diào)函數(shù)</param> public static void Regist(IntPtr hWnd, HotkeyModifiers fsModifiers, Keys vk, HotKeyCallBackHanlder callBack) { int id = keyid++; if (!RegisterHotKey(hWnd, id, fsModifiers, vk)) throw new Exception("regist hotkey fail."); keymap[id] = callBack; } /// <summary> /// 注銷(xiāo)快捷鍵 /// </summary> /// <param name="hWnd">持有快捷鍵窗口的句柄</param> /// <param name="callBack">回調(diào)函數(shù)</param> public static void UnRegist(IntPtr hWnd, HotKeyCallBackHanlder callBack) { foreach (var var in keymap) { if (var.Value == callBack) UnregisterHotKey(hWnd, var.Key); } } /// <summary> /// 快捷鍵消息處理 /// </summary> public static void ProcessHotKey(Message m) { if (m.Msg == WM_HOTKEY) { int id = m.WParam.ToInt32(); HotKeyCallBackHanlder callback; if (keymap.TryGetValue(id, out callback)) { callback(); } } } } public enum HotkeyModifiers { MOD_ALT = 0x1, MOD_CONTROL = 0x2, MOD_SHIFT = 0x4, MOD_WIN = 0x8 } }
運(yùn)行結(jié)果如圖:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#截圖程序類(lèi)似騰訊QQ截圖實(shí)現(xiàn)代碼
- 解決C# 截取當(dāng)前程序窗口指定位置截圖的實(shí)現(xiàn)方法
- c#實(shí)現(xiàn)winform屏幕截圖并保存的示例
- 解決C#全屏幕截圖的實(shí)現(xiàn)方法
- C#實(shí)現(xiàn)網(wǎng)頁(yè)截圖功能
- 對(duì)指定的網(wǎng)頁(yè)進(jìn)行截圖的效果 C#版
- c# 控件截圖的簡(jiǎn)單實(shí)例
- C#實(shí)現(xiàn)類(lèi)似qq的屏幕截圖程序
- C#實(shí)現(xiàn)通過(guò)ffmpeg從flv視頻文件中截圖的方法
- C#實(shí)現(xiàn)屬于自己的QQ截圖工具
相關(guān)文章
asp.net下經(jīng)典數(shù)據(jù)庫(kù)記錄分頁(yè)代碼
asp.net下經(jīng)典數(shù)據(jù)庫(kù)記錄分頁(yè)代碼...2007-04-04.NET Core創(chuàng)建一個(gè)控制臺(tái)(Console)程序
這篇文章主要為大家詳細(xì)介紹了.NET Core如何創(chuàng)建一個(gè)控制臺(tái)程序,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04總結(jié)ASP.NET C#中經(jīng)常用到的13個(gè)JS腳本代碼
本文總結(jié)了ASP.NET C#在實(shí)際開(kāi)發(fā)過(guò)程中13個(gè)JS腳本代碼,方便大家在開(kāi)發(fā)中使用,希望對(duì)大家有用。2016-04-04asp.net下 jquery jason 高效傳輸數(shù)據(jù)
jquery jason 高效傳輸數(shù)據(jù)轉(zhuǎn)自網(wǎng)上稍有修改2009-03-03.NET中的repeater簡(jiǎn)介及分頁(yè)效果
Repeater控件是一個(gè)數(shù)據(jù)綁定容器控件,它能夠生成各個(gè)項(xiàng)的列表,并可以使用模板定義網(wǎng)頁(yè)上各個(gè)項(xiàng)的布局。本文對(duì)此進(jìn)行詳細(xì)介紹,下面跟著小編一起來(lái)看下吧2017-02-02asp.net 臟字典過(guò)濾問(wèn)題 用正則表達(dá)式來(lái)過(guò)濾臟數(shù)據(jù)
asp.net 臟字典過(guò)濾問(wèn)題 用正則表達(dá)式來(lái)過(guò)濾臟數(shù)據(jù)2009-10-10asp.net下Response.ContentType類(lèi)型匯總
asp.net下Response.ContentType類(lèi)型匯總...2007-04-04ASP.Net中的async+await異步編程的實(shí)現(xiàn)
這篇文章主要介紹了ASP.Net中的async+await異步編程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08在.NET?Core中使用CSRedis的詳細(xì)過(guò)程
這篇文章主要介紹了在.NET?Core中使用CSRedis的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06asp.net 從客戶(hù)端中檢測(cè)到有潛在危險(xiǎn)的 Request.Form 值錯(cuò)誤解
asp.net程序運(yùn)行時(shí)出現(xiàn)以下錯(cuò)誤: “/news”應(yīng)用程序中的服務(wù)器錯(cuò)誤。2009-05-05