C#如何实现Windows API

C#如何实现Windows API?
API主要应用,用到较多,或较实用的功能有哪些?
这有两个问题!!

或者说用一两个简单实用的实例说明下,之前用得较多是C#的web开发.
API怎么用不是很清楚

1、C#如何实现Windows API?
你这句话让人难以理解,你是想编WindowsAPI?那是不可能了。既然叫WindowsAPI,那就是给你用的,不是让你编的,这是一;WindowsAPI主要做一些操作系统底层或者对硬件的操作,托管代码无法越级直接操作,除非库中提供了接口。
如果是要应用WidnowsAPI,那么就照2楼的算个用法例子。至于你到底想调什么样的API,你还得查很多文档,包括哪个dll里有哪些函数之类,都要知道
2、API主要应用,用到较多,或较实用的功能有哪些?
这个就不好回答了,主要是看你需求中的功能,如果依靠库中提供的代码无法实现的功能,就可以考虑从WindowsAPI下手。但是C#的库已经相当全面了,例如上面youz的这个例子,其实完全可以使用System.Windows.Forms.Message来实现,不必非要使用WindowsAPI。
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-06-25
// 这是在C#中调用API之前的声明。声明之后就可以直接使用了
using System.Runtime.InteropServices;

[DllImport("user32", EntryPoint="SendMessage")]
public static extern int SendMessage(
IntPtr hWnd, // 要接收消息的那个窗口的句柄
int wMsg, // 消息的标识符
int wParam,
int lParam
);

// 声明API的参数,具体参数值可查看WINUSER.H文件
const int EM_GETLINECOUNT = 0x00BA;
// 获取文本的行数
int linecnt = SendMessage(this.richTextBox1.Handle, EM_GETLINECOUNT, 0, 0);
第2个回答  2008-06-24
一切都是 API 实现的 包括.net框架!

Windows APIAPI举例
首先,为了在C#中调用Windows API,需要使用System.Runtime.InteropServices命名空间,并使用DllImportAttribute特性引入API函数。例如:using System.Runtime.InteropServices; \/\/ 引入命名空间 [DllImport("user32.dll")]public static extern ReturnType FunctionName(type arg1, type arg2, ...); \/\/ 定义...

C# 怎么用WINDOW API
using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace WindowsApplication3 { public partial class Form2 : Form { public delegate int EnumWindowsCallBack(IntPtr...

C#编程中如何调用WIN32 API函数
using system.runtime.interopservices; publicclass win32 { [dllimport("user32.dll", entrypoint="messagebox")] publicstaticexternint msgbox(int hwnd, string text, string caption, uint type); } 许多受管辖的动态链接库函数期望你能够传递一个复杂的参数类型给函数,譬如一个用户定义的结构类型...

C#能不能做一个软件,在登录2003系统的时候,自动输入用户名和密码_百度...
1 定义设置活动窗口API(SetActiveWindow),设置前台窗口API(SetForegroundWindow)[DllImport("user32.dll")]static extern IntPtr SetActiveWindow(IntPtr hWnd);[DllImport("user32.dll")]

c#怎么调用windows api获取磁盘空闲空间
System.IO.DriveInfo drive = new System.IO.DriveInfo("c:"); long freeSpace = drive.AvailableFreeSpace;\/\/取得c盘的可用空间大小

C# 调用 Windows API 如何改变外部应用程序中 DateTimePicker 控件...
就是使用SendMessage就可以了:[StructLayout(LayoutKind.Sequential)]public class SYSTEMTIME { public short wYear;public short wMonth;public short wDayOfWeek;public short wDay;public short wHour;public short wMinute;public short wSecond;public short wMilliseconds;} DateTime time=DateTime.Now;SY...

windows api可以用于c#吗?
可以用...windows 的api应用没有问题的。。只是需要实例一下 类似于如下:[DllImport( "KERNEL32.DLL ", EntryPoint= "MoveFileW ", SetLastError=true,CharSet=CharSet.Unicode, ExactSpelling=true,CallingConvention=CallingConvention.StdCall)]public static extern bool MoveFile(...

Windows的API中GetLastError是怎样实现的
1、C#如何实现Windows API?你这句话让人难以理解,你是想编WindowsAPI?那是不可能了。既然叫WindowsAPI,那就是给你用的,不是让你编的,这是一;WindowsAPI主要做一些操作系统底层或者对硬件的操作,托管代码无法越级直接操作,除非库中提供了接口。如果是要应用WidnowsAPI,那么就照2楼的算个用法...

c# 用Windows API CreateThread函数如何创建的线程
CreateThread 微软在Windows API中提供了建立新的线程的函数CreateThread,概述:当使用CreateProcess调用时,系统将创建一个进程和一个主线程。CreateThread将在主线程的基础上创建一个新线程,大致做如下步骤:1在内核对象中分配一个线程标识\/句柄,可供管理,由CreateThread返回 2把线程退出码置为STILL_ACTIVE...

C#winform 怎样与api接口连接起来啊? 详细一点 谢谢了 重谢
using System.Runtime.InteropServices;先引用这个命名空间 接着添加下面的代码来声明一个API:[DllImport("User32.dll")] 这个是windows系统内的一个dll 然后就可以应用那个dll类中的方法了,但是必须需要extern这个关键字

相似回答