Указатель на окно стороннего приложения

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Landius
In need of some credit
In need of some credit
Posts: 4
Joined: Thu Jan 19, 2017 7:20 pm

Указатель на окно стороннего приложения

Post by Landius » Thu Jan 19, 2017 7:32 pm

Добрый день, граждане!
Подскажите, пожалуйста, можно ли при помощи wxWidgets получить указатель на окно другого приложения? Суть вопроса: есть приложение, которое пишет текстовую строку в буфер обмена операционной системы. необходимо чтобы эта строка без лишних телодвижений пользователя писалась из буфера обмена в текстовое поле стороннего приложения. По силам ли wxWidgets провернуть подобное? или проще использовать WinAPI?

Landius
In need of some credit
In need of some credit
Posts: 4
Joined: Thu Jan 19, 2017 7:20 pm

Re: Указатель на окно стороннего приложения

Post by Landius » Fri Jan 20, 2017 10:38 am

Прошу прощения.
Суть программы: при открытии программа вставляет текст в буфер обмена, далее обращается в сторонне приложение, отправляя сообщение о нажатии комбинации клавиш 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(); //разрушаем окно

}

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3409
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Указатель на окно стороннего приложения

Post by ONEEYEMAN » Fri Jan 20, 2017 10:01 pm

A chto ne rabotaet? I kak?
Chto takoe storonnee prilogenie - WordPad, Word, Excel, chto-to esche?
Prilogenie zapuscheno? Gde nahoditsja fokus u etogo prilogenija?

Landius
In need of some credit
In need of some credit
Posts: 4
Joined: Thu Jan 19, 2017 7:20 pm

Re: Указатель на окно стороннего приложения

Post by Landius » Sat Jan 21, 2017 6:20 am

ONEEYEMAN, добрый день! Не то чтобы не работает, просто не знаю как это реализовать средсвами wxWidgets.
Прошу прощения, видимо недостаточно данных предоставил.
Стороннее приложение - это IBM Lotus Notes. Пользователь изначально запускает IBM Lotus Notes. В процессе работы в Lotus открывается окошко с текстовым редактором и двумя кнопками: ok, cancel. Пользователь руками набивает в окошке текст и нажимает OK. Текст в большинстве случаев содержит одну и туже фразу, поэтому процесс раздражает пользователя) В свете этого родилась идея написать приложение на wxWidgets, которое пользователь запускает при открытом окошке Lotus и которое считывает из текстового файла нужную фразу, вставляет фразу в буфер обмена операционной системы, далее отправляет в текстовый редактор Lotus сообщение о нажатии CTRL+V и программно нажимает OK, далее само себя закрывает.

Удалось все это решить смешав wxWidgets и winApi. Но очень интересно, можно ли обойтись одним wxWidgets. Читал документацию и не нашел ничего подходящего. Возможно что-то упустил)
Last edited by Landius on Sat Jan 21, 2017 6:25 am, edited 1 time in total.

Landius
In need of some credit
In need of some credit
Posts: 4
Joined: Thu Jan 19, 2017 7:20 pm

Re: Указатель на окно стороннего приложения

Post by Landius » Sat Jan 21, 2017 6:23 am

Можно было бы и в самом Lotus дописать два шаблона комментария, но доработка Lotus находится в ведении аутсорсинговой компании. Т.е. нужно писать тех.задание и это лишние денежные траты. Пока все это согласует руководство, уйдет уйма времени.

ONEEYEMAN
Part Of The Furniture
Part Of The Furniture
Posts: 3409
Joined: Sat Apr 16, 2005 7:22 am
Location: USA, Ukraine

Re: Указатель на окно стороннего приложения

Post by ONEEYEMAN » Sat Jan 21, 2017 6:31 am

Вот они все минусы Индюково-китайской экономической политики. ;-)
В принципе Вы все правильно реализовали. - wxWidgets + WinAPI.

Можно было бы попробовать на чистом OLE но это лишние заморочки - дополнительный леер.

Post Reply