如何将枚举传递给 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变量是一个枚举。我可以在第三个参数上做些什么来解决这个问题?