|
導讀微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發(fā)中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統(tǒng)平臺... 微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發(fā)中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統(tǒng)平臺通過網絡快速發(fā)送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。 這篇文章主要為大家詳細介紹了使用微信PC端的截圖dll庫實現(xiàn)微信截圖功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下本文實例為大家分享了截圖dll庫實現(xiàn)微信截圖功能 ,供大家參考,具體內容如下 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 系統(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>
/// 注冊快捷鍵
/// </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庫來實現(xiàn)微信截圖功能的詳細內容,更多請關注php中文網其它相關文章! 微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。 |
溫馨提示:喜歡本站的話,請收藏一下本站!