会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
冰风On The Way
博客园
首页
新随笔
联系
订阅
管理
随笔 - 52
文章 - 0
评论 - 129
阅读 -
17万
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 ); } }
分类:
[技术]C#.NET
好文要顶
关注我
收藏该文
微信分享
bdstjk
粉丝 -
57
关注 -
3
+加关注
0
0
升级成为会员
«
上一篇:
javascript学习(三)——常用方法(2)
»
下一篇:
正则表达式学习(验证输入是否颜色值)
posted @
2011-12-29 10:22
bdstjk
阅读(
571
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
登录后才能查看或发表评论,立即
登录
或者
逛逛
博客园首页
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
编辑推荐:
·
如何编写易于单元测试的代码
·
10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
·
.NET Core 中如何实现缓存的预热?
·
从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
·
AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
·
地球OL攻略 —— 某应届生求职总结
·
周边上新:园子的第一款马克杯温暖上架
·
Open-Sora 2.0 重磅开源!
·
提示词工程——AI应用必不可少的技术
·
.NET周刊【3月第1期 2025-03-02】
公告
昵称:
bdstjk
园龄:
12年10个月
粉丝:
57
关注:
3
+加关注
<
2011年12月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
C# 截图 源码 示例 仿QQ截图
(1)
ASP.NET Cookie Response.Cookies.Remove
(1)
随笔分类
[技术]C#(9)
[技术]C#.NET(22)
[技术]JavaScript(12)
[技术]WPF(3)
[技术]数据库(1)
[其他]通知公告(1)
随笔档案
2014年2月(1)
2013年8月(1)
2013年7月(3)
2013年6月(2)
2013年5月(1)
2013年4月(1)
2012年6月(1)
2012年5月(6)
2012年4月(5)
2012年3月(1)
2012年2月(1)
2012年1月(4)
2011年12月(7)
2011年11月(16)
2011年10月(1)
相册
无分类图片(1)
捐助
<IMG alt=捐助博主 src="http://www.cnblogs.com/images/cnblogs_com/bdstjk/424791/t_1343196956_1642.jpg">
阅读排行榜
1. Chrome插件开发之manifest.json(23180)
2. WPF仿360卫士9.0界面设计(22216)
3. 一键保存网页为PDF_V1.2(14851)
4. Mvc项目实例 MvcMusicStore(13927)
5. C#.NET解析XML(简单实例)(12528)
评论排行榜
1. WPF仿360卫士9.0界面设计(42)
2. 高分辨率转HTML成PDF(ephtmltopdf.dll)(26)
3. VisualStudio自动编码插件(Autocode——devprojects.net)(24)
4. 分享一个自己写的WPF换肤窗体WPF.DazzleUI(12)
5. C#截图源码及示例(仿QQ截图)(7)
推荐排行榜
1. WPF仿360卫士9.0界面设计(26)
2. 高分辨率转HTML成PDF(ephtmltopdf.dll)(17)
3. VisualStudio自动编码插件(Autocode——devprojects.net)(7)
4. 分享一个自己写的WPF换肤窗体WPF.DazzleUI(5)
5. C#截图源码及示例(仿QQ截图)(4)
最新评论
1. Re:C#上网流量统计
@flyher 你实现了吗?老哥...
--Aminor~
2. Re:高分辨率转HTML成PDF(ephtmltopdf.dll)
在分页的时候 字体被截断如何破解,跪求大神帮忙
--凤城沙子
3. Re:高分辨率转HTML成PDF(ephtmltopdf.dll)
我如何添加自己的水印在这个pdf上面
--凤城沙子
4. Re:WPF仿360卫士9.0界面设计
你们说你妈呢
--nir34
5. Re:一键保存网页为PDF_V1.2
mark
--大漠孤阳
点击右上角即可分享
SQL AI 助手
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】