У меня был проект долгое время с помощью C# winforms. Я реализовал функцию перетаскивать-отбрасывания, прежде чем окна 7 были выпущены. Обработанный как очарование. Однако при использовании окон 7 это не работает. Событие даже не становится инициированным.
AllowDrop
имеет значение true. При подписке на DragEnter
это не становится названным в окнах 7 (не уверенный в перспективе). Но на XP это работает полностью. Программа запущена с administritave полномочиями.
Есть ли какое-либо различие в понижении перетаскивания окон 7 по сравнению с xp? Не знайте, релевантно ли это, но я использую x64
Исходный и целевой процессы должны иметь совместимые уровни безопасности \ привилегии. Например, если вашим источником является Explorer и он работает с привилегиями уровня пользователя, но ваше целевое приложение работает с правами администратора (с повышенным), вы не сможете перетаскивать и опускать, поскольку это рассматривается как проблема безопасности, поскольку цель работает с более высоким уровнем привилегий.
Это называется UIPI, изоляция привилегий пользовательского интерфейса. Предназначен для предотвращения эксплойтов ввода ввода из программ, работающих с ограниченными привилегиями. Его можно отключить, вам нужно сделать следующее:
значение true. На самом деле никогда не пробовал, ymmv.