資源簡介
C#游戲輔助helper類[內存多級指針讀寫 進程操作]
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Diagnostics;
using?System.Runtime.InteropServices;
using?System.Text;
//QQ?844125365?青椒科技內存幫助類??C#?千人QQ?群:137?696?483?
namespace?主
{
????public?abstract?class?Helper
????{
????????[DllImportAttribute(“kernel32.dll“?EntryPoint?=?“ReadProcessMemory“)]
????????public?static?extern?bool?ReadProcessMemory
????????????(
????????????????IntPtr?hProcess
????????????????IntPtr?lpbaseAddress
????????????????int[]?data
????????????????int?nSize
????????????????IntPtr?lpNumberOfBytesRead
????????????);
????????[DllImportAttribute(“kernel32.dll“?EntryPoint?=?“ReadProcessMemory“)]
????????public?static?extern?bool?ReadProcessMemory
????????????(
????????????????IntPtr?hProcess
????????????????IntPtr?lpbaseAddress
????????????????byte[]?data
????????????????int?nSize
????????????????IntPtr?lpNumberOfBytesRead
????????????);
????????[DllImportAttribute(“kernel32.dll“?EntryPoint?=?“OpenProcess“)]
????????public?static?extern?IntPtr?OpenProcess
????????????(
????????????????int?dwDesiredAccess
????????????????bool?bInheritHandle
????????????????int?dwProcessId
????????????);
????????[DllImport(“kernel32.dll“)]
????????private?static?extern?void?CloseHandle
????????????(
????????????????IntPtr?hobject
????????????);
????????//寫內存
????????[DllImportAttribute(“kernel32.dll“?EntryPoint?=?“WriteProcessMemory“)]
????????public?static?extern?bool?WriteProcessMemory
????????????(
????????????????IntPtr?hProcess
????????????????IntPtr?lpbaseAddress
????????????????int[]?lpBuffer
????????????????int?nSize
????????????????IntPtr?lpNumberOfBytesWritten
????????????);
????????[DllImport(“USER32.DLL“)]
????????public?static?extern?bool?SetForegroundWindow(IntPtr?hWnd);
????????//獲取窗體的進程標識ID
????????public?static?int?GetPid(string?windowtitle)
????????{
????????????int?rs?=?0;
????????????Process[]?arrayProcess?=?Process.GetProcesses();
????????????foreach?(Process?p?in?arrayProcess)
????????????{
????????????????if?(p.MainWindowtitle.IndexOf(windowtitle)?!=?-1)
????????????????{
????????????????????rs?=?p.Id;
????????????????????break;
????????????????}
????????????}
????????????return?rs;
????????}
????????//根據進程名獲取PID
????????public?static?int?GetPidByProcessName(string?processName)
????????{
????????????Process[]?arrayProcess?=?Process.GetProcessesByName(processName);
????????????foreach?(Process?p?in?arrayProcess)
????????????{
????????????????return?p.Id;
????????????}
????????????return?0;
????????}
????????//根據進程名獲取句柄
????????public?static?IntPtr?FindWindow(string?processName)
????????{
????????????Process[]?arrayProcess?=?Process.GetProcessesByName(processName);
????????????foreach?(Process?p?in?arrayProcess)
????????????{
????????????????return?p.MainWindowHandle;
????????????}
????????????return?IntPtr.Zero;
????????}
????????//根據進程名獲取進程對象
????????public?static?Process?GetTa
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????16393??2015-06-12?22:15??ProcessMemoryReader.cs
?????文件????????6678??2015-06-12?22:18??Helper.cs
評論
共有 條評論