// This static method is required because legacy OSes do not support // SetWindowLongPtr public static IntPtr SetWindowLongPtr(IntPtr hWnd, Win32Enums.GWL nIndex, IntPtr dwNewLong) { if (IntPtr.Size == 8) { return(SetWindowLongPtr64(hWnd, nIndex, dwNewLong)); } else { return(new IntPtr(SetWindowLong32(hWnd.ToInt32(), nIndex, dwNewLong.ToInt32()))); } }
private static extern IntPtr SetWindowLongPtr64(IntPtr hWnd, Win32Enums.GWL nIndex, IntPtr dwNewLong);
private static extern int SetWindowLong32(int hWnd, Win32Enums.GWL nIndex, int dwNewLong);
public static extern IntPtr GetWindowLongPtr(IntPtr hWnd, Win32Enums.GWL nIndex);