mirror of
https://github.com/yaakov-h/Notepad.Extensions.Logging.git
synced 2025-04-11 23:14:52 +00:00
51 lines
2.3 KiB
C#
51 lines
2.3 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace Notepad.Extensions.Logging
|
|
{
|
|
static class NativeMethods
|
|
{
|
|
[DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
|
|
|
|
[DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
public static extern IntPtr FindWindowEx(IntPtr hWndParent, IntPtr hWndChildAfter, string lpszClass, string lpszWindow);
|
|
|
|
public const int EM_REPLACESEL = 0x00C2;
|
|
|
|
[DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, [MarshalAs(UnmanagedType.LPWStr)] string lParam);
|
|
|
|
public const int SCI_ADDTEXT = 2001;
|
|
|
|
[DllImport("User32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
public static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, IntPtr lParam);
|
|
|
|
public delegate bool EnumWindowsDelegate(IntPtr hWnd, object lParam);
|
|
|
|
[DllImport("user32.dll")]
|
|
public static extern bool EnumWindows(EnumWindowsDelegate lpEnumFunc, object lParam);
|
|
|
|
[DllImport("User32.dll", CharSet = CharSet.Unicode)]
|
|
public static extern int GetWindowText(IntPtr hWndParent, StringBuilder sb, int maxCount);
|
|
|
|
[DllImport("kernel32.dll", SetLastError = true)]
|
|
public static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, int flAllocationType, int flProtect);
|
|
|
|
public const int MEM_COMMIT = 0x00001000;
|
|
public const int MEM_RESERVE = 0x00002000;
|
|
public const int MEM_RELEASE = 0x8000;
|
|
public const int PAGE_READWRITE = 0x04;
|
|
|
|
[DllImport("kernel32.dll", SetLastError = true)]
|
|
[return: MarshalAs(UnmanagedType.Bool)]
|
|
public static extern bool VirtualFreeEx(IntPtr hProcess, IntPtr lpAddress, IntPtr dwSize, int dwFreeType);
|
|
|
|
[DllImport("User32.dll")]
|
|
public static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);
|
|
|
|
[DllImport("kernel32.dll", SetLastError = true)]
|
|
public static extern int WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, IntPtr nSize, out IntPtr lpNumberOfBytesWritten);
|
|
}
|
|
}
|