Я создал приложение winforms и реализовал функцию перетаскивания.эта функциональность прекрасно работает в WinXP или в Win7 из приложений Run-As-Administrator.
Проблемы возникают при попытке перетаскивания из приложения без прав администратора в Win7 в мою программу, просто не работает.
Я так понимаю, потому что ОС фильтрует сообщения.Я нашел решение для этого здесь: http://blog.helgeklein.com/2010/03/how-to-enable-drag-and-drop-for.html, но, похоже, оно не работает.
вот код обходного пути:
[DllImport("user32.dll", SetLastError = true)]
static extern bool ChangeWindowMessageFilter(uint message, uint dwFlag);
private const uint WM_DROPFILES = 0x233;
private const uint WM_COPYDATA = 0x004A;
private const uint WM_COPYGLOBALDATA = 0x0049;
private const uint MSGFLT_ADD = 1;
ChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ADD);
ChangeWindowMessageFilter(WM_COPYDATA, MSGFLT_ADD);
ChangeWindowMessageFilter(WM_COPYGLOBALDATA, MSGFLT_ADD);
Как заставить это работать?