Создание буфера обмена на бездисковых станциях
Заполняю объект TextBuffer. Далее пытаюсь вставить сформированное значение в буфер обмена.
TextBuffer.toClipboard();
И вот тут "облом". Вставки не происходит по той причине, что буфера обмена не существует!
Прямая попытка открытия буфера обмена через команду
WinApi::openClipboard(0)
Оканчивается неудачей.
Происходит это, как правило, при первом открытии терминального сеанса. Т.е. пользователь только включил компьютер. Причем, массовый характер это имеет только на бездисковых станциях. В "обычной" терминальной сессии такое тоже случается, но значительно реже.
Лечится все явной инициализацией буфера обмена примерно таким способом:
- Открыть блокнот (notepad.exe)
- Ввести в него какой-либо "мусор"
- Выделить фрагмент и загнать его в буфер обмена по Ctrl+C
До закрытии сессии - проблема снимается.
Существует ли какой-либо способ принудительной инициализации буфера обмена? Как его можно "пнуть" программно для инициализации?
Axapta 2.5 SP3
|