[Moscow.pm] Win32::GuiTest Open Context Menu Key
Nikolay Mishin
mi на ya.ru
Пн Фев 27 06:39:35 PST 2012
Дим, привет, докопал сырцы 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