使用微信PC端的截图dll库实现微信截图功能
更新时间:2017年06月14日 09:38:55 作者:WuLex
这篇文章主要为大家详细介绍了使用微信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);
#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
}
}
运行结果如图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持华域联盟。
您可能感兴趣的文章:C#截图程序类似腾讯QQ截图实现代码解决C# 截取当前程序窗口指定位置截图的实现方法c#实现winform屏幕截图并保存的示例解决C#全屏幕截图的实现方法C#实现网页截图功能对指定的网页进行截图的效果 C#版c# 控件截图的简单实例C#实现类似qq的屏幕截图程序C#实现通过ffmpeg从flv视频文件中截图的方法C#实现属于自己的QQ截图工具
微信
截图
dll
相关文章
ASP.NET页面某些选项进行提示判断具体实现针对asp.net页面某些选项进行提示判断,比如当保存一个信息时候,需要对当前信息是否为空进行判断 2013-06-06
VS2017 安装打包插件的图文教程下面小编就为大家分享一篇VS2017 安装打包插件的图文教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 2017-11-11
asp.net编程获取项目根目录实现方法集合这篇文章主要介绍了asp.net编程获取项目根目录实现方法,结合实例形式分析总结了asp.net针对项目目录的操作技巧与注意事项,需要的朋友可以参考下 2015-11-11
Asp.Mvc 2.0用户客户端验证实例讲解(3)这篇文章主要介绍了 Asp.Mvc 2.0实现客户端验证功能,本文使用jquery.validate插件进行验证,需要的朋友可以参考下 2015-08-08
ASP.NET中实现Form表单字段值自动填充到操作模型中这篇文章主要介绍了ASP.NET中实现Form表单字段值自动填充到操作模型中,本文模仿MVC模式中的自动映射表单了模型,使用泛型和反射实现,需要的朋友可以参考下 2015-06-06
.Net创建Excel文件(插入数据、修改格式、生成图表)的方法 2012-01-01
基于.Net实现前端对话框和消息框这篇文章主要介绍了基于.Net实现前端对话框和消息框的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 2016-07-07
.Net 如何限制用户登录的方法这篇文章主要介绍了.Net 如何限制用户登录的方法,有需要的朋友可以参考一下 2013-12-12
ASP.NET中读取XML文件信息的4种方法与示例代码ASP.NET中读取XML文件信息的4种方法与示例代码… 2007-03-03
ASP.NET MVC图片上传前预览简单实现这篇文章主要介绍了ASP.NET MVC图片上传前预览简单实现代码,可以获取图片文件名和图片字节大小,感兴趣的小伙伴们可以参考一下 2016-05-05
最新评论

评论(0)