Можно ли в LO как-нибудь работать с API-функциями.
В частности хотелось бы поработать с функциями общения с реестром Windows:
Создать ключ - RegCreateKeyEx().
Открыть существующий ключ: RegOpenKeyEx().
Закрыть ключ - RegCloseKey().
Чтение данных - RegGetValue().
Запись данных - RegSetValueEx().
Удаление данных - RegDeleteValue().
Мне кажется, что оптимальный путь для работы с реестром Windows в LO - использование WMI (https://www.script-coding.com/WMI_StdRegProv.html) или объекта WScript.Shell (https://www.script-coding.com/WSH/WshShell.html).
Для Питона тоже валом библиотек (все - бесплатные) для работы с реестром, причем на любой Windows-инструмент (WMI/DNS/Реестр/LDAP итд) - будет как минимум 2-3 рабочих варианта.
Можно использовать встроенный в LO Python и дергать скрипт из BASIC-кода, как с появлением окон/взаимодействием со скриптом при oSvc.execute(...), так и полностью скрытно script.invoke(...)
Если вам нужно что-то получать обратно в момент выполнения - то PS/VBS/WSH могут удивить. Да и само написание/отладка этих скриптов в блокнотах - чистой воды overkill
Спасибо за направление исследований.
Цитата: economist от 23 сентября 2020, 16:12Для Питона тоже валом библиотек
Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.
Цитата: Kadet от 23 сентября 2020, 16:18Вы меня таки вынудите изучить Питон... Пока я его побаиваюсь ибо неизвестность всегда пугает, хотя расписанные вами перспективы заманчивы.
Учите, поимеете кучу профитов
Так, читать реестр я, кажется, научился.
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
Честно слямзил отсюда (https://excelvba.ru/code/registry).
Всё остальное, дело техники. Отсюда.
Цитата: sokol92 от 23 сентября 2020, 15:26или объекта WScript.Shell (https://www.script-coding.com/WSH/WshShell.html).
Спасибо!
Обе ссылки из ответа #1 ведут на сайт www.script-coding.com (https://www.script-coding.com). Рекомендую!