⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winapi.cs

📁 把QQ群里的消息记录下来
💻 CS
字号:
/* ************************************************************************
 * 描述: WinApi调用
 * 创建: sodak 2006-12-30
 *   
 *					 开 发 历 史 
 * ------------------------------------------------------------------------
 *  
 * 修改日期     修 改 内 容          修改人
 * ------------------------------------------------------------------------
 * 
 * 
 *****************************************************************************/
using System;
using System.Drawing;
using System.Runtime.InteropServices;

namespace TQQ
{
	/// <summary>
	/// WinApi调用
	/// </summary>
	public class WinApi
	{
		/// <summary>
		/// 根据鼠标位置获取窗体
		/// </summary>
		/// <param name="lpPoint"></param>
		/// <returns></returns>
		[DllImport("user32.dll")]
		public static extern IntPtr WindowFromPoint(Point lpPoint);

		/// <summary>
		/// 获取鼠标位置
		/// </summary>
		/// <param name="lpPoint"></param>
		/// <returns></returns>
		[DllImport("user32.dll")]
		public static extern int GetCursorPos(out Point lpPoint);

		/// <summary>
		/// 获取鼠标位置下的窗体
		/// </summary>
		/// <returns></returns>
		public static IntPtr GetLocalWindow()
		{
			Point point;
			GetCursorPos(out point);
			return WindowFromPoint(point);
		}

		/// <summary>
		/// 申请内存空间
		/// </summary>
		/// <param name="hProcess"></param>
		/// <param name="lpAddress"></param>
		/// <param name="dwSize"></param>
		/// <param name="flAllocationType"></param>
		/// <param name="flProtect"></param>
		/// <returns></returns>
		[ DllImport( "Kernel32.dll" )]
		public static extern Int32 VirtualAllocEx(IntPtr hProcess,Int32 lpAddress,Int32 dwSize,Int16 flAllocationType,Int16 flProtect);

		/// <summary>
		/// 读取内存空间
		/// </summary>
		/// <param name="hProcess"></param>
		/// <param name="lpBaseAddress"></param>
		/// <param name="lpBuffer"></param>
		/// <param name="nSize"></param>
		/// <param name="lpNumberOfBytesWritten"></param>
		/// <returns></returns>
		[ DllImport( "Kernel32.dll" )]
		public static extern int ReadProcessMemory(IntPtr hProcess, Int32 lpBaseAddress,byte[] lpBuffer,long nSize,long lpNumberOfBytesWritten);

		/// <summary>
		/// 写内存空间
		/// </summary>
		/// <param name="hProcess"></param>
		/// <param name="lpBaseAddress"></param>
		/// <param name="lpBuffer"></param>
		/// <param name="nSize"></param>
		/// <param name="lpNumberOfBytesWritten"></param>
		/// <returns></returns>
		[ DllImport( "Kernel32.dll" )]
		public static extern int WriteProcessMemory(IntPtr hProcess, Int32 lpBaseAddress,byte[] lpBuffer,long nSize,long lpNumberOfBytesWritten);

		/// <summary>
		/// 根据类/标题查找窗口
		/// </summary>
		/// <param name="lpClassName"></param>
		/// <param name="lpWindowName"></param>
		/// <returns></returns>
		[DllImport("User32.dll",EntryPoint="FindWindow")]
		public static extern IntPtr FindWindow(string lpClassName,string lpWindowName);

		/// <summary>
		/// 获取窗口子对象
		/// </summary>
		/// <param name="hwndParent"></param>
		/// <param name="hwndChildAfter"></param>
		/// <param name="lpszClass"></param>
		/// <param name="lpszWindow"></param>
		/// <returns></returns>
		[DllImport("user32.dll",EntryPoint="FindWindowEx")]
		public static extern IntPtr FindWindowEx(IntPtr hwndParent,IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

		/// <summary>
		/// 发送windows消息
		/// </summary>
		/// <param name="hWnd"></param>
		/// <param name="Msg"></param>
		/// <param name="wParam"></param>
		/// <param name="lParam"></param>
		/// <returns></returns>
		[DllImport("User32.dll")]
		public static extern IntPtr SendMessage(IntPtr hWnd,int Msg,IntPtr wParam,IntPtr lParam);

		/// <summary>
		/// 发送windows消息
		/// </summary>
		/// <param name="hWnd"></param>
		/// <param name="Msg"></param>
		/// <param name="wParam"></param>
		/// <param name="lParam"></param>
		/// <returns></returns>
		[DllImport("User32.dll",EntryPoint="SendMessage")]
		public static extern int SendMessage(IntPtr hWnd,int Msg, IntPtr wParam, string lParam);

		/// <summary>
		/// 发送windows消息
		/// </summary>
		/// <param name="hwnd"></param>
		/// <param name="wMsg"></param>
		/// <param name="wParam"></param>
		/// <param name="lParam"></param>
		/// <returns></returns>
		[DllImport("user32.dll", CharSet = CharSet.Auto)]
		public static extern int SendMessage( IntPtr hwnd, int wMsg, int wParam,string lParam);

		/// <summary>
		/// 发送windows消息
		/// </summary>
		/// <param name="hwnd"></param>
		/// <param name="wMsg"></param>
		/// <param name="wParam"></param>
		/// <param name="lParam"></param>
		/// <returns></returns>
		[DllImport("user32.dll", CharSet = CharSet.Auto)]
		public static extern int SendMessage( IntPtr hwnd, int wMsg, int wParam,int lParam);

		/// <summary>
		/// 发送windows消息
		/// </summary>
		/// <param name="hwnd"></param>
		/// <param name="wMsg"></param>
		/// <param name="wParam"></param>
		/// <param name="lParam"></param>
		/// <returns></returns>
		[DllImport("user32.dll", CharSet = CharSet.Auto)]
		public static extern int SendMessage( IntPtr hwnd, int wMsg, int wParam,System.Text.StringBuilder lParam);

		public const int WM_GETTEXT = 0x000D;
		public const int WM_GETTEXTLENGTH = 0x000E;
		public const int WM_SETTEXT = 0x000C;
		public const int WM_CLICK = 0x00F5;
		public const int WM_CHAR = 0x0102;
		public const int EM_SETSEL = 0x00B1;
		public const int EM_REPLACESEL = 0x00C2;

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -