1 место PM+WinApi или управление окнами любых других приложений

Регистрация
03.12.2012
Сообщения
187
Благодарностей
89
Баллы
28
  • Спасибо
Реакции: MORENO и Wzor

fri-lancer

Client
Регистрация
01.10.2013
Сообщения
409
Благодарностей
155
Баллы
43

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
Регистрация
03.12.2012
Сообщения
187
Благодарностей
89
Баллы
28

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
а и не создавал темы. И поддерживать никого не собираюсь, ибо :-) жаден и ленив.
Извиняюсь, я позже потом заметил что тема не твоя и думал что исправил своё сообщение, а тут оказывается мой косячок )))
 
  • Спасибо
Реакции: Дармидонт

Wzor

Client
Регистрация
02.01.2016
Сообщения
158
Благодарностей
27
Баллы
28
Отдал свой голос за эту и парочку других тем.
 

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18
Что это значит и как решить эту проблему?
Код:
Тип    Время    Сообщение
    16:04:41    Компиляция кода  Ошибка в действии "CS0122" ""ZennoLab.OwnCode.CommonCode.FindWindow(string, string)" недоступен в силу его уровня защиты". [Строка: 0; Cтолбец: 26]
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
Скорее всего у него стоит приватный модификатор доступа- private, его нужно сменить на public
 

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18

vovain

Client
Регистрация
31.07.2015
Сообщения
183
Благодарностей
2
Баллы
18
все норм тут. Приложение Bluestack
Скорее всего у него стоит приватный модификатор доступа- private, его нужно сменить на public
Код:
public class CommonCode
    {
        /// <summary>
        /// Lock this object to mark part of code for single thread execution
        /// </summary>
        public static object SyncObject = new object();
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
все норм тут. Приложение Bluestack

Код:
public class CommonCode
    {
        /// <summary>
        /// Lock this object to mark part of code for single thread execution
        /// </summary>
        public static object SyncObject = new object();
На строке где объявляется функция: FindWindow
 

system2

Client
Регистрация
21.04.2010
Сообщения
57
Благодарностей
15
Баллы
8
Автор а не подскажешь как послать ctrl + d
по очереди они посылаются вот так,

Код:
CommonCode.SendMessage(hwnd, CommonCode.WM_KEYDOWN, (IntPtr)CommonCode.VK_CONTROL, (IntPtr)(CommonCode.MapVirtualKey(CommonCode.VK_CONTROL, 0)<<16|1));
CommonCode.SendMessage(hwnd, CommonCode.WM_KEYDOWN, (IntPtr)CommonCode.VK_KEY_D, (IntPtr)(CommonCode.MapVirtualKey(CommonCode.VK_KEY_D, 0)<<16|1));
а вот как одновременно

просто это клик по номеронаберателю с автофокусировкой на номере.

а то мышка у меня чё-то через раз нажимается
 

system2

Client
Регистрация
21.04.2010
Сообщения
57
Благодарностей
15
Баллы
8
Я конечно решил вопрос через keybd_event

Код:
SetForegroundWindow(hWnd);
            keybd_event(VK_CONTROL,0,0,0);
            keybd_event (0x44, 0, 0, 0 ); //Send the D key (44 is "D")
            keybd_event (0x44, 0, KEYEVENTF_KEYUP, 0);
            keybd_event (VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);// 'Left Control Up
но он работает только при активном окне, а вот как послать комбинацию, используя sendmessage?
 

Greez

Client
Регистрация
05.02.2014
Сообщения
82
Благодарностей
29
Баллы
18


Вот с таким столкнулся, это на этапе "нажать ОК". У кого-нибудь было? До этого момента всё шло по плану.
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
Автор а не подскажешь как послать ctrl + d
по очереди они посылаются вот так,

Код:
CommonCode.SendMessage(hwnd, CommonCode.WM_KEYDOWN, (IntPtr)CommonCode.VK_CONTROL, (IntPtr)(CommonCode.MapVirtualKey(CommonCode.VK_CONTROL, 0)<<16|1));
CommonCode.SendMessage(hwnd, CommonCode.WM_KEYDOWN, (IntPtr)CommonCode.VK_KEY_D, (IntPtr)(CommonCode.MapVirtualKey(CommonCode.VK_KEY_D, 0)<<16|1));
а вот как одновременно

просто это клик по номеронаберателю с автофокусировкой на номере.

а то мышка у меня чё-то через раз нажимается
Для этого нужно в Spy++ посмотреть как выглядят сообщения в момент нажатия комбинации клавиши и от этого уже танцевать, если сможете сделать скрин этих сообщений из spy++ я вам подкину функцию =)
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53


Вот с таким столкнулся, это на этапе "нажать ОК". У кого-нибудь было? До этого момента всё шло по плану.
Это значит такого окна не нашел, нужно по другим критериям искать, либо просто обнови список окон в spy++
 
  • Спасибо
Реакции: Sanekk

system2

Client
Регистрация
21.04.2010
Сообщения
57
Благодарностей
15
Баллы
8
Для этого нужно в Spy++ посмотреть как выглядят сообщения в момент нажатия комбинации клавиши и от этого уже танцевать, если сможете сделать скрин этих сообщений из spy++ я вам подкину функцию =)


заранее спасибо
 

Sanekk

Client
Регистрация
24.06.2016
Сообщения
988
Благодарностей
388
Баллы
63
статья натолкнула на новые идеи и на пути развития,автору+ жаль что проголосовать не успел
 

Hool

Client
Регистрация
27.03.2015
Сообщения
65
Благодарностей
6
Баллы
8
Кто-нить пробовал приручить меню Skype?
 

Вложения

  • 15,3 КБ Просмотры: 488

system2

Client
Регистрация
21.04.2010
Сообщения
57
Благодарностей
15
Баллы
8

Hool

Client
Регистрация
27.03.2015
Сообщения
65
Благодарностей
6
Баллы
8
по скайпу в прошлом конкурсе была хорошая статья с удобной либой для работы http://zennolab.com/discussion/threads/zennoposter-i-skype-desktop-versija.23980/
Спасибо конечно, но разобраться надо, так как уже столкнулся с тем же, но при попытке обуздать другую программу. Как же приручить это системное меню.
 

Juggernaut

Client
Регистрация
06.02.2015
Сообщения
48
Благодарностей
11
Баллы
8
Автор однозначно красавчик.Но это не метод использования зеннопостера.

Давайте еще задачи вешать на зенно , например дамп mysql по часам. Зачем нам cron ?
 

olga.armalita

Client
Регистрация
05.04.2014
Сообщения
194
Благодарностей
42
Баллы
28
по скайпу в прошлом конкурсе была хорошая статья с удобной либой для работы http://zennolab.com/discussion/threads/zennoposter-i-skype-desktop-versija.23980/
Только она во первых исключительно для скайпа, в отличии от этой статьи где автор показал как работать с любым десктопным приложением.
А во вторых по той статье ни хрена не работает:(
 

Naemnick

Client
Регистрация
01.08.2014
Сообщения
36
Благодарностей
3
Баллы
8
Вот как бы ещё брать ответы показал бы.
И как колёсиком мышки крутить. Мне на другом приложении нужно. (ДругВокруг).
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
Вот как бы ещё брать ответы показал бы.
И как колёсиком мышки крутить. Мне на другом приложении нужно. (ДругВокруг).
Для прокрутки колесиком мыши есть сообщение WM_MOUSEWHEEL, его так же хорошо видно в SPY++
Для ДругВокру бот я давным давно делал и там оно работает отлично:
 
  • Спасибо
Реакции: Naemnick

Naemnick

Client
Регистрация
01.08.2014
Сообщения
36
Благодарностей
3
Баллы
8
WM_MOUSEWHEEL Я понял что это но знаний не хватает за пользовать. Вот и попросил пример кода.
В рамках проекта кликать то что надо я написал и отлично работает. За что благодарность большая.

Вот как бы ещё брать ответы или парсить строчки. тоже не хватает знаний.
В рамках проекта по VIBER всё это тоже нужно.
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
WM_MOUSEWHEEL Я понял что это но знаний не хватает за пользовать. Вот и попросил пример кода.
В рамках проекта кликать то что надо я написал и отлично работает. За что благодарность большая.

Вот как бы ещё брать ответы или парсить строчки. тоже не хватает знаний.
В рамках проекта по VIBER всё это тоже нужно.
Из самых просых способов это инжектить нажатие кнопки TAB - выделит нужное сообщение и потом инжектить отправку Ctrl+C и вуаля в буфере обмена весь текст)
 

Dmitry Rudin

Новичок
Регистрация
02.10.2015
Сообщения
4
Благодарностей
1
Баллы
1
Интересно, а сможет ли эта связка работать с приложениями запущенными на серваке? Сейчас используется AutoIt и MouseRobot и когда rdp подключения активно - все работает. Но когда нет подкл. или оно свернуто, у этих программ возникают проблемы с активацией(выделением) конкретного окна. Никто не знает как поведет себя в такой ситуации этот способ?
 

Serkser

Client
Регистрация
26.01.2015
Сообщения
90
Благодарностей
343
Баллы
53
Интересно, а сможет ли эта связка работать с приложениями запущенными на серваке? Сейчас используется AutoIt и MouseRobot и когда rdp подключения активно - все работает. Но когда нет подкл. или оно свернуто, у этих программ возникают проблемы с активацией(выделением) конкретного окна. Никто не знает как поведет себя в такой ситуации этот способ?
Как он поведет зависит полностью от вас) Если вы прошлете все сообщения с WM_MOUSEACTIVATE и WM_MOUSEMOVE , то все будет без проблем работать в свернутом состоянии
 
  • Спасибо
Реакции: durovino943 и Dmitry Rudin

Dmitry Rudin

Новичок
Регистрация
02.10.2015
Сообщения
4
Благодарностей
1
Баллы
1
Как он поведет зависит полностью от вас) Если вы прошлете все сообщения с WM_MOUSEACTIVATE и WM_MOUSEMOVE , то все будет без проблем работать в свернутом состоянии
Спасибо за быстрый ответ) сейчас буду пробовать..
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)