C#调用windows API函数声明代码解释

源代码如下,麻烦帮我详细解释一下代码,谢谢了!usingSystem;usingSystem.Collections.Generic;usingSystem.Compon... 源代码如下,麻烦帮我详细解释一下代码,谢谢了!

using System;
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 CallAPIApp
{
public partial class Form1 : Form
{
#region DllImport
[DllImport("user32.dll")]

public static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
[DllImport("user32.dll", EntryPoint = "MessageBox")]

public static extern int MsgBox(IntPtr hWnd, String text, String caption, uint type);
[DllImport("kernel32.dll")]

private static extern int Beep(int dwFreq, int dwDuration);
#endregion

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
try
{
AnimateWindow(this.Handle, 5000, 0x00040000);
}
catch(Exception ex) {
MsgBox(this.Handle, ex.ToString(), "错误", 0);
}
}

private void textBox2_TextChanged(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
MsgBox(this.Handle, "扬声器发声!", "提示", 0);
try
{
Beep(Int16.Parse(textBox2.Text), Int16.Parse(textBox1.Text));
}
catch (Exception ex)
{
MsgBox(this.Handle, ex.ToString(), "错误", 0);
}
}
}
}
展开
 我来答
srhouyu
2009-07-14 · TA获得超过2407个赞
知道大有可为答主
回答量:1198
采纳率:37%
帮助的人:936万
展开全部
[DllImport("user32.dll")]
public static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
//user32.dll中本来就存在一个名叫AnimateWindow的API调用,在C#中想调用,就把这个函数的声明照原样写出来。(AnimateWindow函数的原型可以上百度百科上查,下同)

[DllImport("user32.dll", EntryPoint = "MessageBox")]
public static extern int MsgBox(IntPtr hWnd, String text, String caption, uint type);
//user32.dll里有一个叫MessageBox的API调用。如果不想像上面那个函数那样照API函数的原样子写的话,是可以改名的,不过必须加一个EntryPoint的参数。

[DllImport("kernel32.dll")]
private static extern int Beep(int dwFreq, int dwDuration);
//kernel32.dll中的Beep函数,作用是发声。
//这三个函数声明好以后就可以直接用了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式