------ #### Itrycn_Project2 V1.0.2106.1201 - *.[新增]新增加入皮肤功能。 - *.[新增]对话框全部使用皮肤。 - *.[新增]新增加入扫描模板,快速开发扫描功能。 - *.[改进]公共变量进行区分设置,更加规范。
146 lines
4.2 KiB
C#
146 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace _SCREEN_CAPTURE
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
internal class Win32
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="x"></param>
|
|
/// <param name="y"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]
|
|
public static extern bool SetCursorPos(int x, int y);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]//获取桌面的句柄
|
|
public static extern IntPtr GetDesktopWindow();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="pHwnd"></param>
|
|
/// <param name="pt"></param>
|
|
/// <param name="uFlgs"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]//在桌面找寻子窗体
|
|
public static extern IntPtr ChildWindowFromPointEx(IntPtr pHwnd, LPPOINT pt, uint uFlgs);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public const int CWP_SKIPDISABLED = 0x2; //忽略不可用窗体
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public const int CWP_SKIPINVISIBL = 0x1; //忽略隐藏的窗体
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public const int CWP_All = 0x0; //一个都不忽略
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="hWnd"></param>
|
|
/// <param name="uMsg"></param>
|
|
/// <param name="wParam"></param>
|
|
/// <param name="lParam"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]
|
|
public static extern int SendMessage(IntPtr hWnd, uint uMsg, IntPtr wParam, IntPtr lParam);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public const uint WM_LBUTTONUP = 0x202;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="hWnd"></param>
|
|
/// <param name="lpPoint"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]//进行坐标转换 (再窗体内部进行查找)
|
|
public static extern bool ScreenToClient(IntPtr hWnd, out LPPOINT lpPoint);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public struct LPPOINT
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int X;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Y;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="hWnd"></param>
|
|
/// <param name="lpRect"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]//获得句柄对象的位置
|
|
public static extern bool GetWindowRect(IntPtr hWnd, out LPRECT lpRect);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public struct LPRECT
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Left;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Top;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Right;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int Bottom;
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="pci"></param>
|
|
/// <returns></returns>
|
|
[DllImport("user32.dll")]
|
|
public static extern bool GetCursorInfo(out PCURSORINFO pci);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public struct PCURSORINFO
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int cbSize;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public int flag;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public IntPtr hCursor;
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public LPPOINT ptScreenPos;
|
|
}
|
|
}
|
|
}
|