zoukankan
html css js c++ java
C#引入Win32API:常用Win32API
using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; //这个肯定要的 namespace WindowsApplication1 { class win32API { public const int OPEN_PROCESS_ALL = 2035711; public const int PAGE_READWRITE = 4; public const int PROCESS_CREATE_THREAD = 2; public const int PROCESS_HEAP_ENTRY_BUSY = 4; public const int PROCESS_VM_OPERATION = 8; public const int PROCESS_VM_READ = 256; public const int PROCESS_VM_WRITE = 32; private const int PAGE_EXECUTE_READWRITE = 0x4; private const int MEM_COMMIT = 4096; private const int MEM_RELEASE = 0x8000; private const int MEM_DECOMMIT = 0x4000; private const int PROCESS_ALL_ACCESS = 0x1F0FFF; //查找窗体 [DllImport("User32.dll", EntryPoint = "FindWindow")] public extern static IntPtr FindWindow( string lpClassName, string lpWindowName ); //得到目标进程句柄的函数 [DllImport("USER32.DLL")] public extern static int GetWindowThreadProcessId( int hwnd, ref int lpdwProcessId ); [DllImport("USER32.DLL")] public extern static int GetWindowThreadProcessId( IntPtr hwnd, ref int lpdwProcessId ); //打开进程 [DllImport("kernel32.dll")] public extern static int OpenProcess( int dwDesiredAccess, int bInheritHandle, int dwProcessId ); [DllImport("kernel32.dll")] public extern static IntPtr OpenProcess( uint dwDesiredAccess, int bInheritHandle, uint dwProcessId ); //关闭句柄的函数 [DllImport("kernel32.dll", EntryPoint = "CloseHandle")] public static extern int CloseHandle( int hObject ); //读内存 [DllImport("Kernel32.dll ")] public static extern Int32 ReadProcessMemory( IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, int size, out IntPtr lpNumberOfBytesWritten ); [DllImport("Kernel32.dll ")] public static extern Int32 ReadProcessMemory( int hProcess, int lpBaseAddress, ref int buffer, //byte[] buffer, int size, int lpNumberOfBytesWritten ); [DllImport("Kernel32.dll ")] public static extern Int32 ReadProcessMemory( int hProcess, int lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesWritten ); //写内存 [DllImport("kernel32.dll")] public static extern Int32 WriteProcessMemory( IntPtr hProcess, IntPtr lpBaseAddress, [In, Out] byte[] buffer, int size, out IntPtr lpNumberOfBytesWritten ); [DllImport("kernel32.dll")] public static extern Int32 WriteProcessMemory( int hProcess, int lpBaseAddress, byte[] buffer, int size, int lpNumberOfBytesWritten ); //创建线程 [DllImport("kernel32", EntryPoint = "CreateRemoteThread")] public static extern int CreateRemoteThread( int hProcess, int lpThreadAttributes, int dwStackSize, int lpStartAddress, int lpParameter, int dwCreationFlags, ref int lpThreadId ); //开辟指定进程的内存空间 [DllImport("Kernel32.dll")] public static extern System.Int32 VirtualAllocEx( System.IntPtr hProcess, System.Int32 lpAddress, System.Int32 dwSize, System.Int16 flAllocationType, System.Int16 flProtect ); [DllImport("Kernel32.dll")] public static extern System.Int32 VirtualAllocEx( int hProcess, int lpAddress, int dwSize, int flAllocationType, int flProtect ); //释放内存空间 [DllImport("Kernel32.dll")] public static extern System.Int32 VirtualFreeEx( int hProcess, int lpAddress, int dwSize, int flAllocationType ); } }
查看全文
相关阅读:
vim在插入模式下的粘贴
关于外语学习的7个“美丽误会”(图)
美国在线教育的启示:教育领域正在革命
自动生成计算题
字符串的截取,分割,替换
将字符串转成byte,然后再转回来 日期相互转化字符串
java编写的万年历代码
小球弹砖块游戏(JAVA)
随即输入一段字符串,统计出数字,大写字母。小写字母,空格
邮箱验证信息
原文地址:https://www.cnblogs.com/bdstjk/p/2519866.html
最新文章
一个简单方法完成C#时间间隔的计算
[转] C#中Struct与Class区别
Http环境下的保持连接方式
SQL 两个排序字段
百度回复针对目前相关性问题 刚刚好
IIS和.NET的安装顺序及错误解决方法 刚刚好
win7 桌面背景保存位置,告诉你源文件删除后如何找回 刚刚好
跟着别人的感觉做网络推广之二 刚刚好
通过搜索学习别人的推广方式,跟着别人的感觉做自己的推广 刚刚好
飞利浦Tablet 7 PI3000 如何ROOT 刚刚好
热门文章
从查火车时刻想到的区域性有效流量来源 刚刚好
SQL 2005数据库转为2000的终极解决方案 刚刚好
网络推广工作学习之擅用搜索 刚刚好
搜索引擎相关网络推广方式节选 刚刚好
一段haskell代码的重构(一)
使用scribefire next离线写博(博客园)
苦逼程序员的辛酸反省与总结
八种开心家教方式给孩子一颗快乐的心(图)
列表内相邻项的差值
23号(一段很好的视频)
Copyright © 2011-2022 走看看