开发者

What is HWND in VC++

What is the eq开发者_StackOverflow中文版uivalent of HWND(VC++) in C#? I want to send HWND from my C# program to the VC++ dll.


HWND is a "handle to a window" and is part of the Win32 API . HWNDs are essentially pointers (IntPtr) with values that make them (sort of) point to a window-structure data. In general HWNDs are part an example for applying the ADT model.

If you want a Control's HWND see Control.Handle property. It is an IntPtr which value is an HWND.

Since HWND are not a .Net entity, they need to be released manually. This is done with Control.DestroyHandle().

Pay close attention to creation and destruction of HWND. Responsibility for object destruction is unusual in .Net and is in general a source for bugs and memory leaks.


That would be IntPtr, which is meant to contain unmanaged handles and pointers.

http://msdn.microsoft.com/en-us/library/system.intptr.aspx


HWND as was stated is an abbreviation for Window Handle. real type behind HWND is just a structure with an integer field. So it's analog in .Net is IntPtr

However here a quite interesting question - What the size of HWND in x64 Windows. Because IntPtr from .net then have 64 bit long. But if HWND remain 32 bit long there maybe problems


IntPtr. Also you might read about P/Invoke calls.


HWND is similar to IntPtr.

use the following syntax

    [DllImport("ImortingDllName.dll")]
    public static extern void ExposedFunction(IntPtr hwndmsg, int all);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜