c++怎么调用api函数?
3个回答
展开全部
这个有API可以的。
通过使用ntdll.dll的NtQuerySystemInformation来获得cpu使用率。
//定义内存的信息结构
[StructLayout(LayoutKind.Sequential)]
public struct MEMORY_INFO
{
public uint dwLength;
public uint dwMemoryLoad; //内存使用率
public uint dwTotalPhys; //物理内存 单位:字节
public uint dwAvailPhys; //可使用的物理内存
public uint dwTotalPageFile; //交换文件
public uint dwAvailPageFile; //尚可交换文件大小
public uint dwTotalVirtual; //总虚拟内存
public uint dwAvailVirtual; //未用虚拟内存
}//定义系统时间的信息结构
[DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
//获得内存使用率
//调用GlobalMemoryStatus函数获取内存的相关信息
MEMORY_INFO MemInfo;
MemInfo = new MEMORY_INFO();
GlobalMemoryStatus(ref MemInfo);
Console.WriteLine("Memory使用率:{0}",MemInfo.dwMemoryLoad);//内存使用率
为什么不嵌入汇编呢?这样可以事半功倍、
通过使用ntdll.dll的NtQuerySystemInformation来获得cpu使用率。
//定义内存的信息结构
[StructLayout(LayoutKind.Sequential)]
public struct MEMORY_INFO
{
public uint dwLength;
public uint dwMemoryLoad; //内存使用率
public uint dwTotalPhys; //物理内存 单位:字节
public uint dwAvailPhys; //可使用的物理内存
public uint dwTotalPageFile; //交换文件
public uint dwAvailPageFile; //尚可交换文件大小
public uint dwTotalVirtual; //总虚拟内存
public uint dwAvailVirtual; //未用虚拟内存
}//定义系统时间的信息结构
[DllImport("kernel32")] public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);
//获得内存使用率
//调用GlobalMemoryStatus函数获取内存的相关信息
MEMORY_INFO MemInfo;
MemInfo = new MEMORY_INFO();
GlobalMemoryStatus(ref MemInfo);
Console.WriteLine("Memory使用率:{0}",MemInfo.dwMemoryLoad);//内存使用率
为什么不嵌入汇编呢?这样可以事半功倍、
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询