• dmk © (16.03.17 23:22) [0]
    Всем привет!
    Раньше (в Windows 7) было все нормально. WM_DROPFILES обрабатывался без проблем. Сейча WINDOWS 10-64 и WM_DROPFILES в окно перестал приходить. Как быть? Где посмотреть? Сообщение просто не приходит в окно.
  • Eraser © (17.03.17 06:41) [1]

    > dmk ©   (16.03.17 23:22) 
    > Всем привет!
    > Раньше (в Windows 7)

    раньше в Windows 7 у вас был отключен UAC.
    по теме https://blogs.msdn.microsoft.com/patricka/2010/01/28/q-why-doesnt-drag-and-drop-work-when-my-application-is-running-elevated-a-mandatory-integrity-control-and-uipi/
  • dmk © (17.03.17 17:01) [2]
    Хм. UAC у меня и сейчас отключен. По крайней мере установлен на минимум.
    Учетная запись администратора. Т.е. мой «блокнот» теперь не кошерен? Как быть?
    Возненавидеть микрософт и юзать люникс ? ;)
  • dmk © (17.03.17 19:54) [3]
    Разобрался. Оказывается надо быть проще. Не запускать программу от имени администратора, тогда будет порядок. Изоляция слоев :) Убрал привелегии администратора. Все заработало ;)
  • dmk © (17.03.17 22:23) [4]
    А как же быть с уровнем Администратора?
  • dmk © (18.03.17 03:54) [5]
    А все разобрался. Спасибо!
  • Eraser © (18.03.17 18:43) [6]

    > dmk ©   (17.03.17 17:01) [2]
    > Хм. UAC у меня и сейчас отключен.

    через панель управления в новых ОС отключить UAC нельзя. можно через реестр по шаманить, но тогда система и некоторые приложения станут работать не стабильно, нужно жить с UAC.


    > dmk ©   (18.03.17 03:54) [5]
    > А все разобрался. Спасибо!

    тестировать надо, в первую очередь, на самых новых ОС, а уже в десятую на полюбившейся семерке.
  • dmk © (19.03.17 05:35) [7]
    Так только drag-n-drop не работает. Остальное все в порядке. WM_DROPFILES оказывается не только ко мне, он в любые программы не приходит с уровнем администратора в 10-ке. У меня Outlook не принимал файлы перетаскиванием пока уровень ему не сменил.
  • Eraser © (21.03.17 12:33) [8]

    > dmk ©   (19.03.17 05:35) [7]

    потому что тестировать, в первую очередь, надо с настройками системы по умолчанию, а уже в десятую очередь с вручную выключенным UAC. наивно полагать что все пользователи выключают UAC в 7, скорее всего, 90% его не выключают. тогда бы проблема обнаружилась куда раньше.
    в любом случае, решение - [1]. или же разделение приложения на fron-end, работающий с правами текущего пользователя и системный back-end.
  • D7 (03.04.17 11:00) [9]
    Если вдруг кто зайдёт и не поймёт чего же делать:
    ChangeWindowMessageFilter(WM_DROPFILES, MSGFLT_ALLOW);
    ChangeWindowMessageFilter(WM_COPYDATA, MSGFLT_ALLOW);
    ...

    https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms632675(v=vs.85).aspx
    https://msdn.microsoft.com/ru-ru/library/windows/desktop/dd388202(v=vs.85).aspx
Есть новые Нет новых   [118446   +32][b:0][p:0]