主题:c#里面怎么调用WINAPI函数
chotqy
[专家分:50] 发布于 2007-03-02 11:51:00
我在FORM.CS-》查看代码-》加入
using System.Runtime.InteropServices;
[ DllImport("kernel32") ]
public static extern void GetWindowsDirectory(StringBuilder WinDir,int count) ;
调用老是有下面的错误!
错误 1 应输入 class、delegate、enum、interface 或 struct
错误 2 修饰符“extern”对该项无效
由于没有用过C#搞了一上午都没有办法大家知道的请给个DEMO谢谢了 !
回复列表 (共4个回复)
沙发
美善 [专家分:2150] 发布于 2007-03-02 12:32:00
using System.Runtime.InteropServices;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("kernel32.dll")]
public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);
private void Form1_Load(object sender, EventArgs e)
{
StringBuilder WinDir = new StringBuilder();
GetWindowsDirectory(WinDir, 255);
MessageBox.Show(WinDir.ToString ());
}
}
}
最好不用api,这些功能.net framework里的类都有封装了。
板凳
chotqy [专家分:50] 发布于 2007-03-02 13:50:00
请问
private void Form1_Load(object sender, EventArgs e)
是否与我的:
private void button1_Click(object sender, EventArgs e)
是同样的。
还有我加上了怎么会说我的:错误 1 当前上下文中不存在名称“GetWindowsDirectory”
3 楼
chotqy [专家分:50] 发布于 2007-03-02 14:52:00
感谢了搞懂了哈!
4 楼
chotqy [专家分:50] 发布于 2007-03-05 13:40:00
请问c#里面有没有定时器?是不是只有线程?
我来回复