purebasic.info

PureBasic forum
Текущее время: Ср апр 25, 2018 4:04 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Drag & Drop W8
СообщениеДобавлено: Ср июл 03, 2013 5:12 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
У кого есть восьмерка, потестите этот код, пожалуйста.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
If OpenWindow(1, 200, 200, 400, 400, "Drag & Drop", #PB_Window_SystemMenu)
  DragAcceptFiles_(WindowID(1),#True)
  Repeat
    Event = WaitWindowEvent()  
    If Event = #WM_DROPFILES
      Buffer = AllocateMemory(300)
      DragQueryFile_(EventwParam(),0,Buffer,300)
      tempStr.s = PeekS(Buffer)
      FreeMemory(Buffer)
      MessageRequester("", tempStr.s)
    EndIf
  Until Event = #PB_Event_CloseWindow
EndIf



Т.е. надо скомпилировать с запросом режима админа, потом запустить полученную программу и перетащить любой файл на форму.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт июл 04, 2013 10:17 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
MrF У меня W8 показывает путь к брошенному файлу.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 05, 2013 1:12 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
mestnyi
Странно. Дал знакомому программку, он говорит, что если от админа запустить, то не работает драг анд дроп.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 05, 2013 10:17 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
MrF
Цитата:
Странно. Дал знакомому программку, он говорит, что если от админа запустить, то не работает драг анд дроп.
Он прав так и есть.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 05, 2013 10:39 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Это получается, что эксплорер не запущен с правами админа? И как же это победить?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт июл 05, 2013 8:36 pm 
Не в сети
профессор

Зарегистрирован: Вт ноя 08, 2011 10:17 am
Сообщений: 578
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
насколько помню это вопрос безопасности - драг н дроп между разными уровнями доступа приложений запрещён.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Drag & Drop W8
СообщениеДобавлено: Ср апр 11, 2018 9:32 am 
Не в сети
ассистент

Зарегистрирован: Пн фев 19, 2018 8:40 am
Сообщений: 14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Так будет работать:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
If OSVersion() >= #PB_OS_Windows_Vista
  ChangeWindowMessageFilter_(#WM_DROPFILES,#MSGFLT_ADD)
  ChangeWindowMessageFilter_(#WM_COPYDATA,#MSGFLT_ADD)
  ChangeWindowMessageFilter_($0049,#MSGFLT_ADD)
EndIf
 
If OpenWindow(1, 200, 200, 400, 400, "Drag & Drop", #PB_Window_SystemMenu)
  DragAcceptFiles_(WindowID(1),#True)
  Repeat
    Event = WaitWindowEvent()
    If Event = #WM_DROPFILES
      Buffer = AllocateMemory(300)
      DragQueryFile_(EventwParam(),0,Buffer,300)
      tempStr.s = PeekS(Buffer)
      FreeMemory(Buffer)
      MessageRequester("", tempStr.s)
    EndIf
  Until Event = #PB_Event_CloseWindow
EndIf



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB