重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

用微信电脑端截图dll库来实现微信截图功能

时间:2020-09-04 07:00:07 作者:重庆seo小潘 来源:
这篇文章主要为大家详细介绍了使用微信PC端的截图dll库实现微信截图功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了截图dll库实现微信截图功能 ,供大家参考,具体内容如下 ScreenForm.cs代码:using System;using System.Coll

这篇文章主要为大家详细介绍了使用微信PC端的截图dll库实现微信截图功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了截图dll库实现微信截图功能 ,供大家参考,具体内容如下

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){//注册热键(窗体句柄,热键ID,辅助键,实键)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 系统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);#endregionpublic 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>///注册快捷键/// </summary>/// <param name="hWnd">持有快捷键窗口的句柄</param>/// <param name="fsModifiers">组合键</param>/// <param name="vk">快捷键的虚拟键码</param>/// <param name="callBack">回调函数</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>///注销快捷键/// </summary>/// <param name="hWnd">持有快捷键窗口的句柄</param>/// <param name="callBack">回调函数</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}}用微信电脑端截图dll库来实现微信截图功能

运行结果如图:

用微信电脑端截图dll库来实现微信截图功能以上就是用微信电脑端截图dll库来实现微信截图功能的详细内容,更多请关注小潘博客其它相关文章!