[Moscow.pm] Win32::GuiTest Open Context Menu Key
Dmitry Karasik
dmitry на karasik.eu.org
Пн Фев 27 09:37:09 PST 2012
Пожалуй соглашусь:
PostMessage(hwnd, WM_SYSCOMMAND, IDM_COPYALL, 0)
должно прокатить. А если не прокатит, то поклавишно Alt-Space, Down Down Enter или мышью
/dk
On Mon, Feb 27, 2012 at 06:47:57PM +0400, Akzhan Abdulin wrote:
> Насколько я помню (10 лет прошло), тебе не надо эмулировать интерфейс.
> Пошли окну WM_SYSCOMMAND<http://msdn.microsoft.com/en-us/library/windows/desktop/ms646360(v=vs.85).aspx>
> .
>
> 27 февраля 2012 г. 18:39 пользователь Nikolay Mishin <mi на ya.ru> написал:
>
> > Дим, привет, докопал сырцы putty (
> > http://tartarus.org/~simon/putty-snapshots/?C=M;O=A)
> >
> > в WINDOW.C есть 804 строка:
> > AppendMenu(m, MF_ENABLED, IDM_COPYALL, "C&opy All to
> > Clipboard");
> >
> > case IDM_COPYALL:
> > term_copyall(term);
> > break;
> >
> > есть еще 47 строка
> > #define IDM_COPYALL 0x0170
> >
> > далее пишем
> > use Win32::GuiTest qw(:ALL);
> > SendKeys("%{F4}");
> > SendKeys("mishnik");
> > SendKeys("{ENTER}");
> >
> > как мне послать ему сигнал 0x0170 ?
> > или как-нибуль так сделать ?
> > (добраться до системного меню ctrl+space)
> > MenuSelect("System meny|C&opy All to Clipboard"); # this is also
> > language dependent !
> > ?
> >
> > или
> >
> > #!/usr/bin/perl
> > #
> >
> > use Win32::GuiTest qw(:FUNC :VK);
> >
> > while (1) {
> > SendRawKey(VK_DOWN, KEYEVENTF_EXTENDEDKEY);
> > SendKeys "{PAUSE 200}";
> > }
> >
> > читаю
> > http://msdn.microsoft.com/en-us/library/windows/desktop/ms646267(v=vs.85).aspx
> > читаю и никак не пойму?
> >
> > 02.12.2011, 12:13, "Dmitry Karasik" <dmitry на karasik.eu.org>:
> > >> у программ MDI интерфейс и внутри окна есть и другие, дочерние окна,
> > до которых и
> > >> не удается добраться
> > >
> > > когда-то давно в состав ms dev studio входила утилита spyxx.exe которой
> > можно было смотреть
> > > иерархию окон в интерактиве, может поможет она, или ее более современные
> > аналоги
> > >
> > >> правда я сейчас понял, что это можно сделать через меню
> > >> "Copy All to Сlipboard"
> > >> правда, чтобы работал ALT-space
> > >> да, и как послать ALT+space
> > >> так SendKeys("%{SPACE}");
> > >> не проходит
> > >
> > > можно порыться в сырцах putty и посмотреть какое сообщение посылает
> > "Copy All To Clipboard",
> > > скорее всего какое нибудь WM_USER+666 или около того. И попробовать его
> > послать самому.
> > >
> > > --
> > > Sincerely,
> > > Dmitry Karasik
> > >
> > > --
> > > Moscow.pm mailing list
> > > moscow-pm на pm.org | http://moscow.pm.org
> >
> > --
> > Nikolay Mishin
> > --
> > Moscow.pm mailing list
> > moscow-pm на pm.org | http://moscow.pm.org
> >
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Sincerely,
Dmitry Karasik
Подробная информация о списке рассылки Moscow-pm