📄 winapi.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 + -