-Поиск по дневнику

Поиск сообщений в rss_ruboard

 -Подписка по e-mail

 

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 18.11.2007
Записей:
Комментариев:
Написано: 10


FAR Manager (часть 5) (202) / Обсуждение работы

Пятница, 23 Февраля 2018 г. 19:02 + в цитатник
Smitis:
Alexyz21

Цитата:
Как, исполняя lua скрипт с помощью lflua, поместить текстовую переменную txt в clipboard? mf.clip(1,txt) не работает, поскольку скрипт вызван не в контексте фара.

Вот так у меня сделано чтение. Запись будет как-то по аналогии.

Код:
------------------------------------------------------------------------------------------------------------------------
-- Predefined Clipboard Formats
local CF_TEXT = 1
local CF_OEMTEXT = 7
local CF_UNICODETEXT = 13

local ffi = require("ffi")
local C = ffi.C

ffi.cdef[[
    int        OpenClipboard(void*);
    void*    GetClipboardData(unsigned);
    int        CloseClipboard(void);
    void*    GlobalLock(void*);
    int        GlobalUnlock(void*);
    size_t    GlobalSize(void*);
    bool    IsClipboardFormatAvailable(unsigned format);
]]

function IsClipboardFormatAvailable(format)
    return C.IsClipboardFormatAvailable(flags(format)) ~= 0
end

function GetClipboard()
    C.OpenClipboard(nil)
    local handle = C.GetClipboardData(CF_TEXT)
    local size = C.GlobalSize(handle)
    local mem = C.GlobalLock(handle)
    local text = ffi.string(mem,size)
    C.GlobalUnlock(handle)
    C.CloseClipboard()
    return text:gsub("%c+$","") -- удаление спецсимволов в конце текста (ноль, переводы строк)
end
------------------------------------------------------------------------------------------------------------------------


http://forum.ru-board.com/topic.cgi?forum=5&topic=49572&glp#lt

Метки:  

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку