摘要: 首先定义外部API导入DLL?1234[DllImport("kernel32")] public static extern void GetSystemInfo(ref CPU_INFO cpuinfo); [DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);结构体定义MEMORY_INFO?12345678910111213141516171819202122232425262728293031323334[Str 阅读全文
posted @ 2013-09-24 16:08 zhushang 阅读(207) 评论(0) 推荐(0)
摘要: 一、前言(引用截图) 二、编写目的我们曾经熟悉的WindowsAPI,我们曾经花费了大量精力写的代码,难道我们就要轻易放弃吗不过当下微软已经把向下兼容性放在很重要的位置. C#程序员使用已有的代码来作为自己程序的一部分是很普通的事情.所以NET为了解决使用已有代码的问题作了很多方面的工作.比如说对于已有的C++ 代码你可以使用C++托管扩展(managedextensions)来进行封装,以及将会着重讲到的P/Invoke。三、原理庖析1)P/Invoke是什么? P/Invoke的全称是PlatformInvoke(平台调用)它实际上是一种函数调用机制通 过P/Invoke我们就可以调... 阅读全文
posted @ 2013-09-24 16:05 zhushang 阅读(130) 评论(0) 推荐(0)
摘要: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Runtime.InteropServices;using System.Threading;using System.Windows.Forms;using System.Drawing;namespace P_Invoke{ class Program { static void Main(string[] args) { Bitmap myImage = new Bitmap(Screen.Prima 阅读全文
posted @ 2013-09-24 15:31 zhushang 阅读(165) 评论(0) 推荐(0)