[Moscow.pm] Win32::GuiTest Open Context Menu Key

Nikolay Mishin mi на ya.ru
Пн Сен 3 09:46:29 PDT 2012


Не прошло и полгода,а я используя статью
http://www.perlmonks.org/?node_id=732692
http://marknelson.us/2011/12/10/automating-putty/
еще понадобился http://www.codeproject.com/Articles/33459/Spying-Window-Messages-from-the-Inside

и ваш совет смог скопировать данные из putty:

https://gist.github.com/3610649

да, странно, но при вводе кода 
вечно тянуло вместо 0x0170 написать 0xF170 т.к. остальные коды (например MAXIMIZE    => 0xF030) были на него похожи,
оттого и не работало, тогда я просто бросил это, а сейчас смотря, что коды в принципе работают почитал с-код, подумал
и все оказалось проще пареной репы ;))

27.02.2012, 19:31, "Nikolay Mishin" <mi на ya.ru>:

>  о, спасибо за ссылочку, попробую
>
>  27.02.2012, 18:47, "Akzhan Abdulin" <akzhan.abdulin на gmail.com>:
>>   Насколько я помню (10 лет прошло), тебе не надо эмулировать интерфейс. Пошли окну WM_SYSCOMMAND.
>>
>>   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
>  --
>  Nikolay Mishin

--
Nikolay Mishin


Подробная информация о списке рассылки Moscow-pm