如何在C#中使用SetWindowLongPtr

时间:2017-10-12 07:01:38

标签: c# winapi

如何将枚举传递给 SetWindowLongPtr 函数的第三个参数?

我有以下 SetWindowLongPtr 签名,如PInvoke.net上所示:

[DllImport(DLL_USER32, EntryPoint = "SetWindowLongPtr")]
private static extern IntPtr SetWindowLongPtr(HandleRef hWnd, int nIndex, IntPtr dwNewLong);

我想调用它来设置一些窗口样式,我有以下枚举变量:

WindowLongFlags flags = WindowLongFlags.GWL_STYLE;
WindowStyles styles = WindowStyles.WS_POPUP;

但我不知道如何在styles参数上传递dwNewLong变量,因为它的类型为 IntPtr

现在,我有以下代码来调用该函数:

SetWindowLongPtr(new HandleRef(this, _hwndSource.Handle), (int)flags, styles);

但它不会编译,因为styles变量是一个枚举。我可以在第三个参数上做些什么来解决这个问题?

0 个答案:

没有答案