winform调用API
简单的调用API用法:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);
/// <summary>
/// 系统信息
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct SYSTEM_INFO
{
public uint dwOemId;
public uint dwPageSize;
public uint lpMinimumApplicationAddress;
public uint lpMaximumApplicationAddress;
public uint dwActiveProcessorMask;
public uint dwNumberOfProcessors;
public uint dwProcessorType;
public uint dwAllocationGranularity;
public uint dwProcessorLevel;
public uint dwProcessorRevision;
}
/// <summary>
/// 内存信息
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct MEMORYSTATUS
{
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")]
static extern void GetSystemInfo(ref SYSTEM_INFO pSI);
//获取内存信息
[DllImport("kernel32")]
static extern void GlobalMemoryStatus(ref MEMORYSTATUS buf);
private void button1_Click(object sender, EventArgs e)
{
//MessageBox(0, "API Message Box", "API Demo", 0);
SYSTEM_INFO sys = new SYSTEM_INFO();
GetSystemInfo(ref sys);
MessageBox(0, sys.dwProcessorType.ToString(), "系统信息测试", 0);
}
}
}