最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用微信PC端的截图dll库实现微信截图功能

来源:懂视网 责编:小OO 时间:2020-11-27 22:35:40
文档

使用微信PC端的截图dll库实现微信截图功能

本文实例为大家分享了截图dll库实现微信截图功能 ,供大家参考,具体内容如下:ScreenForm.cs代码。,热键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) { //注消热键(句柄。运行结果如图。
推荐度:
导读本文实例为大家分享了截图dll库实现微信截图功能 ,供大家参考,具体内容如下:ScreenForm.cs代码。,热键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) { //注消热键(句柄。运行结果如图。

本文实例为大家分享了截图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);

 #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>
 /// 注册快捷键
 /// </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
 }
}

运行结果如图:

文档

使用微信PC端的截图dll库实现微信截图功能

本文实例为大家分享了截图dll库实现微信截图功能 ,供大家参考,具体内容如下:ScreenForm.cs代码。,热键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) { //注消热键(句柄。运行结果如图。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top