Page 1 of 1
Указатель на окно стороннего приложения
Posted: Thu Jan 19, 2017 7:32 pm
by Landius
Добрый день, граждане!
Подскажите, пожалуйста, можно ли при помощи wxWidgets получить указатель на окно другого приложения? Суть вопроса: есть приложение, которое пишет текстовую строку в буфер обмена операционной системы. необходимо чтобы эта строка без лишних телодвижений пользователя писалась из буфера обмена в текстовое поле стороннего приложения. По силам ли wxWidgets провернуть подобное? или проще использовать WinAPI?
Re: Указатель на окно стороннего приложения
Posted: Fri Jan 20, 2017 10:38 am
by Landius
Прошу прощения.
Суть программы: при открытии программа вставляет текст в буфер обмена, далее обращается в сторонне приложение, отправляя сообщение о нажатии комбинации клавиш CTRL+V. После этого программа закрывается.
Code: Select all
void hotKeyFrm::CreateGUIControls()
{
if(wxTheClipboard->Open()) //открываем буфер обмена
{
wxTheClipboard->SetData(new wxTextDataObject(_("текст"))); //вставляем текст в буфер обмена
wxTheClipboard->Flush();
wxTheClipboard->Close();
}
/*
тут получаю указатель на окно стороннего приложения и отправляю по указателю сообщение о нажатии комбинации клавиш CTRL+V. И в этом загвоздка :(
*/
SetSize(0,0,0,0);
Destroy(); //разрушаем окно
}
Re: Указатель на окно стороннего приложения
Posted: Fri Jan 20, 2017 10:01 pm
by ONEEYEMAN
A chto ne rabotaet? I kak?
Chto takoe storonnee prilogenie - WordPad, Word, Excel, chto-to esche?
Prilogenie zapuscheno? Gde nahoditsja fokus u etogo prilogenija?
Re: Указатель на окно стороннего приложения
Posted: Sat Jan 21, 2017 6:20 am
by Landius
ONEEYEMAN, добрый день! Не то чтобы не работает, просто не знаю как это реализовать средсвами wxWidgets.
Прошу прощения, видимо недостаточно данных предоставил.
Стороннее приложение - это IBM Lotus Notes. Пользователь изначально запускает IBM Lotus Notes. В процессе работы в Lotus открывается окошко с текстовым редактором и двумя кнопками: ok, cancel. Пользователь руками набивает в окошке текст и нажимает OK. Текст в большинстве случаев содержит одну и туже фразу, поэтому процесс раздражает пользователя) В свете этого родилась идея написать приложение на wxWidgets, которое пользователь запускает при открытом окошке Lotus и которое считывает из текстового файла нужную фразу, вставляет фразу в буфер обмена операционной системы, далее отправляет в текстовый редактор Lotus сообщение о нажатии CTRL+V и программно нажимает OK, далее само себя закрывает.
Удалось все это решить смешав wxWidgets и winApi. Но очень интересно, можно ли обойтись одним wxWidgets. Читал документацию и не нашел ничего подходящего. Возможно что-то упустил)
Re: Указатель на окно стороннего приложения
Posted: Sat Jan 21, 2017 6:23 am
by Landius
Можно было бы и в самом Lotus дописать два шаблона комментария, но доработка Lotus находится в ведении аутсорсинговой компании. Т.е. нужно писать тех.задание и это лишние денежные траты. Пока все это согласует руководство, уйдет уйма времени.
Re: Указатель на окно стороннего приложения
Posted: Sat Jan 21, 2017 6:31 am
by ONEEYEMAN
Вот они все минусы Индюково-китайской экономической политики.
В принципе Вы все правильно реализовали. - wxWidgets + WinAPI.
Можно было бы попробовать на чистом OLE но это лишние заморочки - дополнительный леер.