C#调用windows api示例
这是运行结果:

Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提
供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩
展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接
库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函
数。.NET框架本身提供了这样一种服务,允许受管辖的代码调用动态链接库中实
现的非受管辖函数,包括操作系统提供的Windows API函数。它能够定位和调用输
出函数,根据需要,组织其各个参数(整型、字符串类型、数组、和结构等等)跨
越互操作边界。
参考:http://hovertree.com/h/bjaf/tc63n4t2.htm
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms; namespace HoverTreeWinForm
{
public partial class FormHewenqi : Form
{
/// <summary>
/// http://hovertree.com/h/bjaf/v4y0b2l6.htm
/// </summary>
/// <param name="h"></param>
/// <param name="m"></param>
/// <param name="c"></param>
/// <param name="type"></param>
/// <returns></returns> [DllImport("User32.dll")]
public static extern int MessageBox(int h, string m, string c, int type);
public FormHewenqi()
{
InitializeComponent();
} private void button_hewenqi_Click(object sender, EventArgs e)
{
MessageBox(, "Hello Win32 API HoverTree", "何问起网", );
} private void linkLabel_help_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start("http://hovertree.com/h/bjaf/v4y0b2l6.htm");
}
}
}
转载自:http://hovertree.com/h/bjaf/psjdasa2.htm
源码下载:http://pan.baidu.com/s/1bnPPgL5
http://roucheng.cnblogs.com/
上面的示例,弹出信息框窗口并没有指定父窗口句柄,所以弹出后,不用关掉就可以操作主窗体,比如你可以多次点击按钮弹出多个信息框。如果要弹出模式对话框,需先获取当前窗体的句柄,请参考:http://hovertree.com/h/bjaf/8vw6i2yr.htm
模式对话框演示: http://pan.baidu.com/s/1bnNN2b1 密码: dq8u
源码下载:https://github.com/shangyuxian/HoverTree
C#调用windows api示例的更多相关文章
- C#调用Windows API(示例:显示任务管理器里的程序名称)
作为初学者来说,在C#中使用API确是一件令人头疼的问题. 在使用API之前你必须知道如何在C#中使用结构.类型转换.安全/不安全代码,可控/不可控代码等许多知识. 在.Net Framework S ...
- C#调用windows API的一些方法
使用C#调用windows API(从其它地方总结来的,以备查询) C#调用windows API也可以叫做C#如何直接调用非托管代码,通常有2种方法: 1. 直接调用从 DLL 导出的函数. 2. ...
- VBS调用Windows API函数
Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog » 程序设计 » VBS调用Windows API函数 « 用VBS修改Windows用户密码 在VB中创建和使用 ...
- C#调用Windows API函数截图
界面如下: 下面放了一个PictureBox 首先是声明函数: //这里是调用 Windows API函数来进行截图 //首先导入库文件 [System.Runtime.InteropServices ...
- 【转】用C#调用Windows API向指定窗口发送
一.调用Windows API. C#下调用Windows API方法如下: 1.引入命名空间:using System.Runtime.InteropServices; 2.引用需要使用的方法,格式 ...
- C#中调用Windows API的要点 .
介绍 API(Application Programming Interface),我想大家不会陌生,它是我们Windows编程的常客,虽然基于.Net平台的C#有了强大的类库,但是,我们还是不能否认 ...
- c# 判断窗体是否永在最前(TopMost),调用windows API
许多程序都可以把自身的窗体设为最前显示状态,这个可以参考博客c#让窗体永在最前 调用windows api 将窗体设为topmost.那么如何判断桌面上的一个窗体是否为最前显示状态呢,不光是自己的程序 ...
- c#让窗体永在最前 调用windows api 将窗体设为topmost
有时候应用程序需要将一个窗体始终位于屏幕的最前面,即使切换到其它窗体也能看到该窗体,这样的窗体就叫做TopMost窗体. 用C#制作TopMost窗体之前,首先要了解如何声明SetWindowPos函 ...
- 善于 调用Windows API
前一段时间看见别人做的一个自动填写信息并且点击登录的程序,觉得很有意思. 其实就是在程序中调用Windows的API,那么如何调用,下面就做个简单的介绍. 写的简单粗暴, 不喜轻喷. 0.首先引入名称 ...
随机推荐
- Windows 2012 安装 .net framework 3.5
使用 PowerShell, 指定源文件路径然后进行安装: Install-WindowsFeature NET-Framework-Core –Source D:\Sources\sxs 使用命令提 ...
- 画六边形-mat
%% theta = linspace(0,2*pi,7); D=2; %边长 X=1; %中心横坐标 Y=2; %中心纵坐标 plot(D*cos(theta)+X,D*sin(theta) + Y ...
- 由于源码使用是c\c++与oc混编导致Unknown type name 'NSString'
今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 解决方案三: 将Compile Sources As 改为 Objective-C++
- C# winForm 窗体闪烁问题
在构造函数里加上以下代码: this.DoubleBuffered = true;//设置本窗体 SetStyle(ControlStyles.UserPaint, true); ...
- Raft论文的一些问题
抛些问题出来,真正解释了这些问题才算理解了论文.:) 1. 什么是复制状态机 2. Raft vs Paxos 3. Raft的设计目标understandability,为达到设计目标在做设计时如何 ...
- ux.form.field.KindEditor 所见所得编辑器
注意需要引入KindEditor相关资源 //所见所得编辑器 Ext.define('ux.form.field.KindEditor', { extend: 'Ext.form.field.Text ...
- ThoughtWorks 2016年第1期DNA活动总结
今天受邀参加了2016年ThoughtWorks公司成都分公司的2016年第一期DNA活动. 什么是DNA? DNA 即 Design And Analysis.设计与分析.这个活动主要是针对产品经理 ...
- myeclipse不编译解决方法
在开发中经常遇到myeclipse不编译的情况,但不同情况的解决方法又不一样,今天同样是遇到此类情况,在网上狂搜,终于找到一篇好文,它囊括了解决这种情况的常用的方法,现在发出来与大家分享.我遇到的情况 ...
- Nginx HTTP负载均衡和反向代理配置
当前大并发的网站基本都采用了Nginx来做代理服务器,并且做缓存,来扛住大并发.先前也用nginx配置过简单的代理,今天有时间把整合过程拿出来和大家分享,不过其中大部分也是网上找来的资源. nginx ...
- C#多线程管理代码
/// <summary> /// 多线程执行 /// </summary> public class MultiThreadingWorker { /// <summa ...