C#Net中的哪个名称空间包括hWnd?

C#Net中的哪个名称空间包括hWnd?,c#,C#,我在做一个c#项目 我想知道: 在C#.Net中,哪个名称空间包括hWnd、tWindowPlacement、TAboutBox?我想你是.Net的新手,也许还有UI库?在.NET中执行UI与旧的windows C“Win32”API不同 就像Jon提到的,.NET及其UI库不使用这些项。除了windows(即HWND)的句柄之外,还有一些类负责用户界面,您可以实例化和使用这些类。例如,在classic.NET中,windows主要由System.windows.Forms命名空间中的UI元素替

我在做一个c#项目

我想知道:
在C#.Net中,哪个名称空间包括hWnd、tWindowPlacement、TAboutBox?

我想你是.Net的新手,也许还有UI库?在.NET中执行UI与旧的windows C“Win32”API不同

就像Jon提到的,.NET及其UI库不使用这些项。除了windows(即HWND)的句柄之外,还有一些类负责用户界面,您可以实例化和使用这些类。例如,在classic.NET中,windows主要由System.windows.Forms命名空间中的UI元素替换。要显示对话框,您需要构建一个表单,并最终调用表单上的.show()来显示它。您的代码最终将保存一个指向表单的面向对象实例的变量。不会有代码返回该表单的HWND。与Win32相比,它确实是一种更好的UI编码方式

<> P>有其他库用于显示.NET可以访问的UI,如Windows演示基础(WPF),这是我的最爱。Silverlight也是,不过我对Silverlight一无所知

如果你打算学习.NET,那么我建议你在这里问很多问题,并买一些书。请允许我推荐杰弗里·里克特的第一本书《通过C#的CLR》。当然,其他人也会提出很好的建议,但那本书是我多年前读的。当然,经常来这里问问题,寻找答案


祝你在学习.NET的道路上好运

对于hWnd,您可以使用
System.IntPtr
结构-其他结构。TAboutBox听起来像是Delphi或C++Builder类…

为了在C#中获得窗口句柄或hWnd,只需返回
进程的
MainWindowHandle
,如下所示:

    public static IntPtr FindWindowByProcessId(int dwProcessId)
    {
        Process proc = Process.GetProcessById(dwProcessId);
        return proc.MainWindowHandle;
    }
您可以使用平台调用访问
GetWindowPlacement

[DllImport(“user32.dll”,SetLastError=true)]
[返回:Marshallas(UnmanagedType.Bool)]
内部静态外部布尔GetWindowPlacement(IntPtr hWnd,out WINDOWPLACEMENT lpwndpl)


我猜TAboutBox就是一个对话框,或者C#中的
MessageBox

它们不是.NET本身的一部分。如果您使用的是引用它们的代码,则可以使用第三方库,也可以在其他地方声明它们。