C# VS2008 调用API函数

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:39:10
看好问题,别复制.

我要的是一个能查找到API名字啊,和API都有什么成员.
比如说
[DllImport("kernel32.dll")]
public static extern void GlobalMemoryStatus(ref MEMORY_INFO meminfo);

[StructLayout(LayoutKind.Sequential)]
public struct SYSTEMTIME_INFO
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}

我怎么能知道内存的API是kernel32.dll 和里面有的属性
我现在要的是一个查询的.
回答的好可加分. 别TM复制一堆没用的
像这个时间API,我怎么知道里面的属性呢?

如果查看所有进程的DLL文件,运行CMD:
tasklist /m
运行后显示所有进程加载的DLL文件.
假如我们查看进程iexplore.exe调用或加载的模块文件,运行:
tasklist /m iexplore.exe
运行后显示所有该应用程序的DLL文件.

查看DLL:
一个很简单的方法就是用.NET自带的命令行工具

1.首先启动vs的命令行工具

2.定位到你的DLL的那个目录

3.然后输入" ildasm a.dll;注意:a.dll是你的dll的名字 就可以了

不知你问的是不是这个
希望能帮上你

以下都是调用API的C#例子
33.读取ini文件属性
//using System.Runtime.InteropServices;
//[DllImport("kernel32")]//返回取得字符串缓冲区的长度
//private static extern long GetPrivateProfileString(string section,string key, string def,StringBuilder retVal,int size,string filePath);
string Section=%%1;
string Key=%%2;
string NoText=%%3;
string iniFilePath="Setup.ini";
string %%4=String.Empty;
if(File.Exists(iniFilePath)){
StringBuilder temp = new StringBuilder(1024);
GetPrivateProfileString(Section,Key,NoText,temp,1024,iniFilePath);
%%4=temp.ToString();
}

35.