purebasic.info

PureBasic forum
Текущее время: Чт июн 04, 2020 4:02 pm

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Shell Extension для Проводника
СообщениеДобавлено: Вс апр 05, 2020 9:44 am 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 264
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
Написал для себя расширение Проводника(пример)
Захотелось добавить к подменю значок, нашел пример.

Для того, чтобы пункт мню рисовался корректно, нужен IContextMenu2_HandleMenuMsg.

Проблема в том, что не рисуется пункт и меню портится. Может, сделано неправильно?

исходник sh0d4.pb - рисование со значком, sh0d3.pb - первый проект.


Вложения:
pbshellextbeta.zip [19.36 KiB]
Скачиваний: 44

_________________
Захотелось мартышки любви со слоном, тут она и лопнула
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Shell Extension для Проводника
СообщениеДобавлено: Пн апр 06, 2020 9:19 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 264
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
победа?\o/

Нашел способ использования меню. Только я не уверен, что правильно.


Вложения:
shellext.zip [19.27 KiB]
Скачиваний: 45

_________________
Захотелось мартышки любви со слоном, тут она и лопнула
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Shell Extension для Проводника
СообщениеДобавлено: Вт апр 07, 2020 1:51 pm 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 264
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
пока нет. Не было поддержки количества выделенных файлов.
С остальным осталась поддержка Unicode, здесь только ANSI.


Вложения:
preview.zip [20.96 KiB]
Скачиваний: 50

_________________
Захотелось мартышки любви со слоном, тут она и лопнула
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Shell Extension для Проводника
СообщениеДобавлено: Ср апр 08, 2020 10:24 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 615
Благодарил (а): 42 раз.
Поблагодарили: 80 раз.
Пункты репутации: 2
Скачал preview.zip, почему ваш mydll.dll = 31,5 кб, а мой скомпилированный с вашего исходника 44,5 кб (x86)?
Зарегистрировал свой, пишет "Загружен, но не удалось зарегистрировать из за ошибки секции регистрации".
Вы можете выложить скриншот хотя бы, что я в итоге получу? Потому что сделать меню для файла на Win10 и вроде как на младших версиях ОС поддерживается нативным способом через реестр.


Цитата:
Модуль "C:\...\Downloads\preview\mydll.dll" загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки: 0x80009e41.

Для получения дополнительных сведений об этой ошибке выполните поиск в Интернете, указав код ошибки как аргумент поиска.


при отмене регистрации та же ошибка (только DllUnregisterServer).

При компиляции в x64 выдал
Цитата:
PureBasic
---------------------------
Строка 416: Адрес процедуры может быть использован только с 'quad' или 'integer' данными.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Shell Extension для Проводника
СообщениеДобавлено: Ср апр 08, 2020 11:53 am 
Не в сети
профессор

Зарегистрирован: Сб апр 16, 2011 8:59 am
Сообщений: 264
Благодарил (а): 4 раз.
Поблагодарили: 2 раз.
Пункты репутации: 0
[Вырезано]

Еще подобное высказывание и получите бан - Пётр.


компилировал под 7ку 32бит

_________________
Захотелось мартышки любви со слоном, тут она и лопнула


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Shell Extension для Проводника
СообщениеДобавлено: Ср апр 08, 2020 12:03 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11650
Благодарил (а): 4 раз.
Поблагодарили: 502 раз.
AZJIO писал(а):
Скачал preview.zip, почему ваш mydll.dll = 31,5 кб, а мой скомпилированный с вашего исходника 44,5 кб (x86)?
Он компилировал в PureBasic 5.30 x86.

AZJIO писал(а):
Модуль "C:\...\Downloads\preview\mydll.dll" загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки: 0x80009e41.
Это код ошибки #SELFREG_E_CLASS.
Код написан так что не предназначен для компиляции с юникодными строками и для x64 систем.

AZJIO писал(а):
Строка 416: Адрес процедуры может быть использован только с 'quad' или 'integer' данными.
Код:
1
Data.l ?VT_IUnknown, 0, 0

8 байт в 4 байта поместится не могут. Из-за этого ошибка.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


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

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


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

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


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

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