LibreOffice и API-функции

Автор Kadet, 23 сентября 2020, 15:02

0 Пользователи и 1 гость просматривают эту тему.

Kadet

Можно ли в LO как-нибудь работать с API-функциями.
В частности хотелось бы поработать с функциями общения с реестром Windows:

Создать ключ - RegCreateKeyEx().
Открыть существующий ключ: RegOpenKeyEx().
Закрыть ключ - RegCloseKey().
Чтение данных - RegGetValue().
Запись данных - RegSetValueEx().
Удаление данных - RegDeleteValue().

sokol92

Мне кажется, что оптимальный путь для работы с реестром Windows в LO - использование WMI или объекта WScript.Shell.
Владимир.

economist

#2
Для Питона тоже валом библиотек (все - бесплатные) для работы с реестром, причем на любой Windows-инструмент (WMI/DNS/Реестр/LDAP итд) - будет как минимум 2-3 рабочих варианта.

Можно использовать встроенный в LO Python и дергать скрипт из BASIC-кода, как с появлением окон/взаимодействием со скриптом при oSvc.execute(...), так и полностью скрытно script.invoke(...)

Если вам нужно что-то получать обратно в момент выполнения - то PS/VBS/WSH могут удивить. Да и само написание/отладка этих скриптов в блокнотах - чистой воды overkill
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Kadet

Спасибо за направление исследований.
Цитата: economist от 23 сентября 2020, 16:12Для Питона тоже валом библиотек
Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.

kompilainenn

Цитата: Kadet от 23 сентября 2020, 16:18Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.
Учите, поимеете кучу профитов
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

Kadet

#5
Так, читать реестр я, кажется, научился.
Function DefaultMailAccount() As String
Dim key$
   ' читает из реестра настройки почтового ящика,
   ' установленного в TheBAT! как "ящик по-умолчанию"
   ' возвращает адрес почты, или пустую строку, если TheBAT! не настроен
'   On Error Resume Next: Err.Clear
   key = "HKEY_CURRENT_USER\Software\RIT\The Bat!\Users depot\Default"
   DefaultMailAccount = CreateObject("WScript.Shell").RegRead(key$)
End Function


Честно слямзил отсюда.

Всё остальное, дело техники. Отсюда.
Цитата: sokol92 от 23 сентября 2020, 15:26или объекта WScript.Shell.
Спасибо!

sokol92

Обе ссылки из ответа #1 ведут на сайт www.script-coding.com. Рекомендую!
Владимир.