回 帖 发 新 帖 刷新版面

主题:c#里面怎么调用WINAPI函数

我在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个回复)

沙发

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里的类都有封装了。

板凳

请问
 private void Form1_Load(object sender, EventArgs e)
是否与我的:
 private void button1_Click(object sender, EventArgs e)
是同样的。
还有我加上了怎么会说我的:错误 1 当前上下文中不存在名称“GetWindowsDirectory”    

3 楼

感谢了搞懂了哈!

4 楼

请问c#里面有没有定时器?是不是只有线程?

我来回复

您尚未登录,请登录后再回复。点此登录或注册