mirror of
https://github.com/quasar/Quasar.git
synced 2026-10-21 16:06:19 +08:00
61 lines
3.1 KiB
C#
61 lines
3.1 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace xClient.Core.Utilities
|
|
{
|
|
/// <summary>
|
|
/// Provides access to Win32 API and Microsoft C Runtime Library (msvcrt.dll).
|
|
/// </summary>
|
|
public static class NativeMethods
|
|
{
|
|
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
public static extern bool DeleteFile(string name);
|
|
|
|
[DllImport("user32.dll")]
|
|
public static extern bool SetCursorPos(int x, int y);
|
|
|
|
[DllImport("user32.dll")]
|
|
public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
|
|
|
|
/// <summary>
|
|
/// Performs a bit-block transfer of the color data corresponding to a
|
|
/// rectangle of pixels from the specified source device context into
|
|
/// a destination device context.
|
|
/// </summary>
|
|
/// <param name="hdc">Handle to the destination device context.</param>
|
|
/// <param name="nXDest">The leftmost x-coordinate of the destination rectangle (in pixels).</param>
|
|
/// <param name="nYDest">The topmost y-coordinate of the destination rectangle (in pixels).</param>
|
|
/// <param name="nWidth">The width of the source and destination rectangles (in pixels).</param>
|
|
/// <param name="nHeight">The height of the source and the destination rectangles (in pixels).</param>
|
|
/// <param name="hdcSrc">Handle to the source device context.</param>
|
|
/// <param name="nXSrc">The leftmost x-coordinate of the source rectangle (in pixels).</param>
|
|
/// <param name="nYSrc">The topmost y-coordinate of the source rectangle (in pixels).</param>
|
|
/// <param name="dwRop">A raster-operation code.</param>
|
|
/// <returns>
|
|
/// <c>true</c> if the operation succeedes, <c>false</c> otherwise. To get extended error information, call <see cref="System.Runtime.InteropServices.Marshal.GetLastWin32Error"/>.
|
|
/// </returns>
|
|
[DllImport("gdi32.dll", EntryPoint = "BitBlt", SetLastError = true)]
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
public static extern bool BitBlt([In] IntPtr hdc, int nXDest, int nYDest, int nWidth, int nHeight, [In] IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
|
|
|
|
[DllImport("gdi32.dll")]
|
|
public static extern IntPtr CreateDC(string lpszDriver, string lpszDevice, string lpszOutput, IntPtr lpInitData);
|
|
|
|
[DllImport("gdi32.dll")]
|
|
public static extern bool DeleteDC([In] IntPtr hdc);
|
|
|
|
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
public static extern unsafe int memcmp(byte* ptr1, byte* ptr2, uint count);
|
|
|
|
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
public static extern int memcmp(IntPtr ptr1, IntPtr ptr2, uint count);
|
|
|
|
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
public static extern int memcpy(IntPtr dst, IntPtr src, uint count);
|
|
|
|
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl)]
|
|
public static extern unsafe int memcpy(void* dst, void* src, uint count);
|
|
}
|
|
}
|