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 举例:
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()); } }