首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 调用API创建窗口,该如何处理

2012-01-08 
C# 调用API创建窗口有个程序是用C++写的,现在想移植到c#,不知道c#能不能直接通过API来创建窗口[解决办法]

C# 调用API创建窗口
有个程序是用C++写的,现在想移植到c#,不知道c#能不能直接通过API来创建窗口

[解决办法]

[解决办法]
使用platform Invoke
参见
ms-help://MS.MSDNQTR.v90.en/dv_fxinterop/html/eca7606e-ebfb-4f47-b8d9-289903fdc045.htm

但是我觉得你是给自己找麻烦。建议使用managed c++,也可以调用net的类库。
[解决办法]
API的调用是没问题的。。不过 C#要先引用对那些APIDLL。
[解决办法]
Enable设置成false?
[解决办法]
最简单的方法就是通过Google搜索。
[解决办法]
C# 调用 API 举例:

C# code
using System; using System.Windows.Forms; using System.Runtime.InteropServices; class Test : Form {   const int MF_BYPOSITION = 0x0400;   const int MF_REMOVE     = 0x1000;   [DllImport("user32.dll",EntryPoint="GetSystemMenu")]   extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert);   [DllImport("user32.dll",EntryPoint="RemoveMenu")]   extern static int RemoveMenu(IntPtr hMenu, int nPos, int flags);   Test()   {     Text            =  "不能移动和改变大小的窗口";     FormBorderStyle = FormBorderStyle.FixedSingle;     MaximizeBox     = false;     MinimizeBox     = false;     RemoveMenu(GetSystemMenu(Handle,IntPtr.Zero),1,MF_BYPOSITION|MF_REMOVE);   }   static void Main()   {     Application.Run(new Test());   } } 

热点排行