private void SetupDropFilesNative() { lvSettings.OnDropFilesNative += new DropFilesNativeHandler(lvSettings_OnDropFilesNative); DragAcceptNativeHelper.DragAcceptFiles(this.Handle, true); DragAcceptNativeHelper.DragAcceptFiles(lvSettings.Handle, true); InitMessageFilter(lvSettings.Handle); }
private static void InitMessageFilter(IntPtr handle) { if ((Environment.OSVersion.Version.Major >= 6 && Environment.OSVersion.Version.Minor >= 1)) { DragAcceptNativeHelper.ChangeWindowMessageFilterEx(handle, DragAcceptNativeHelper.WM_DROPFILES, DragAcceptNativeHelper.MSGFLT_ALLOW, IntPtr.Zero); DragAcceptNativeHelper.ChangeWindowMessageFilterEx(handle, DragAcceptNativeHelper.WM_COPYDATA, DragAcceptNativeHelper.MSGFLT_ALLOW, IntPtr.Zero); DragAcceptNativeHelper.ChangeWindowMessageFilterEx(handle, DragAcceptNativeHelper.WM_COPYGLOBALDATA, DragAcceptNativeHelper.MSGFLT_ALLOW, IntPtr.Zero); } else if (Environment.OSVersion.Version.Major >= 6 && Environment.OSVersion.Version.Minor >= 0) { DragAcceptNativeHelper.ChangeWindowMessageFilter(DragAcceptNativeHelper.WM_DROPFILES, DragAcceptNativeHelper.MSGFLT_ADD); DragAcceptNativeHelper.ChangeWindowMessageFilter(DragAcceptNativeHelper.WM_COPYDATA, DragAcceptNativeHelper.MSGFLT_ADD); DragAcceptNativeHelper.ChangeWindowMessageFilter(DragAcceptNativeHelper.WM_COPYGLOBALDATA, DragAcceptNativeHelper.MSGFLT_ADD); } }