Поиск дочернего окна

Обсуждение программ nnCron и nnCron LITE

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 07:05

Burunduk wrote:У вас есть навигатор? Мне крупно повезло! :D

нет я скачал программу. )
если бы внимательно посмотрел на WinSpy крона
наведя его на необходимую кнопку,
ты бы увидел что Main window у нее (у кнопки) это основное окно программы
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 07:30

AlikasS wrote:
Burunduk wrote:У вас есть навигатор? Мне крупно повезло! :D

нет я скачал программу. )
если бы внимательно посмотрел на WinSpy крона
наведя его на необходимую кнопку,
ты бы увидел что Main window у нее (у кнопки) это основное окно программы


А что тогда отражает иерархия окон в дереве окон в InqSoft WindowScaner или в WinSpy++ ?

Получается, что кроме иерахии есть прямые связи внуков-правнуков с Праотцом?
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 07:34

Burunduk wrote:
AlikasS wrote:если бы внимательно посмотрел на WinSpy крона
наведя его на необходимую кнопку,
ты бы увидел что Main window у нее (у кнопки) это основное окно программы


А что тогда отражает иерархия окон в дереве окон в InqSoft WindowScaner или в WinSpy++ ?

Получается, что кроме иерахии есть прямые связи внуков-правнуков с Праотцом?

off topic память предков великая вещь :-)
кнопка знает свое место
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 07:42

AlikasS wrote:кнопка знает свое место


Значит иерахия только для правильной отрисовки окон на экране?

А для отношений главный-подчинённый есть другая иерархия?
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 07:57

Проблему синхронизации не с первого раза можно решить в лоб:

Code: Select all
#( SIMPLE_SYNCHR_MAIN_Cockpit
RunOnce
NoDel
Time: 0 11 14 10 * 2013
Action:

      WIN-CLICK: "GPSCockpit*" "Sync PC time"
      WIN-CLICK: "GPSCockpit*" "Sync PC time"

MSG: "Конец задачи."
)#

<% S" Кронтаб magnit.tab пересчитан." MsgBox %>


Хотя загадка остаётся ...

А вот как в окне ToolbarWindow32 нажать нужные псевдо-кнопки? Ориентироваться по относительным координатам?
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 08:41

Burunduk wrote:А вот как в окне ToolbarWindow32 нажать нужные псевдо-кнопки? Ориентироваться по относительным координатам?

как вариант
Code: Select all
: PushWindow ( x y h -- )
\ нажать окно h в точке x y отностительно его левого верхнего угла
  >R
  16 LSHIFT OR 0 2DUP
  WM_LBUTTONDOWN R@ PostMessageA DROP
  WM_LBUTTONUP R> PostMessageA DROP
;

здесь h - хендл окна,
надо помнить, что окно может быть дочерним,
например, в блокноте поле ввода, это дочернее окно Class: Edit.
кстати окно может быть не активным ;-) ( Действия в неактивном окне приложения )
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 09:09

в той теме ( Действия в неактивном окне приложения ) кстати есть такое решение
Code: Select all
: push ( hwnd -- )
\ нажать на окно (кнопку) hwnd,  если hwnd<>0
  ?DUP IF
    0 SWAP
    0 SWAP
    BM_CLICK SWAP
    SendMessageA DROP
  THEN
;

то же для неактивного окна.
ищешь хендл кнопки и тыкаешь ее , не разворачивая приложение
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 09:29

AlikasS wrote:как вариант


Спасибо за подсказку!

Но если делаю задачу так

Code: Select all
#( MY_PUSH_TOOL_BAR
RunOnce
NoDel
Time: 17 15 17 10 * 2013
Action:
: PushWindow ( x y h -- )       [color=#FF0000]РУГАЕТСЯ ЗДЕСЬ![/color]
\ нажать окно h в точке x y отностительно его левого верхнего угла
  >R
  16 LSHIFT OR 0 2DUP
  WM_LBUTTONDOWN R@ PostMessageA DROP
  WM_LBUTTONUP R> PostMessageA DROP
;



а если так

Code: Select all
#( MY_PUSH_TOOL_BAR
RunOnce
NoDel
Time: 17 15 17 10 * 2013
: PushWindow ( x y h -- )
\ нажать окно h в точке x y отностительно его левого верхнего угла
  >R
  16 LSHIFT OR 0 2DUP
  WM_LBUTTONDOWN R@ PostMessageA DROP   [color=#FF0000]РУГАЕТСЯ ЗДЕСЬ![/color]
  WM_LBUTTONUP R> PostMessageA DROP
;
Action:

Похоже первый вариант концептуально неправильный, а во втором варианте наверно не подключен какой-то словарь или плагин?

А стек возвратов используется только как аналог локальной переменной?
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 09:33

Burunduk wrote:Похоже первый вариант концептуально неправильный,
именно
Burunduk wrote:а во втором варианте наверно не подключен какой-то словарь или плагин?

надо подключать виндовые константы,
самое простое скачать в моей подписи
forguiplugins.zip, там и они в том числе подключаются.
Code: Select all
 INCLUDE "plugins\~for-gui\wincon.f"
 INCLUDE "plugins\~for-gui\wfunc.f"


заглянул бы в ту тему ;-) ( Действия в неактивном окне приложения )

Burunduk wrote:А стек возвратов используется только как аналог локальной переменной?
ага.
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 09:46

AlikasS wrote:заглянул бы в ту тему ( Действия в неактивном окне приложения )


Немного глянул и стал искать PushWindow в плагине plugins\win2tray. :rolleyes:
Но не нашёл.... , как и должно быть. :oops:

Попробую подключить константы.
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby VoidVolker » Thu, 17 Oct 2013, 10:07

Code: Select all
#( Задача_110517102013
\ Режим интерпретации: идентично консоли — здесь идет выполнение кода
Action:
\ Режим компиляции
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 10:49

Burunduk wrote:Попробую подключить константы.


Попробовал...

Крон сломался:
Loading error: nncron.ini:10

что это значит?
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 11:06

VoidVolker wrote:#( Задача_110517102013
\ Режим интерпретации: идентично консоли — здесь идет выполнение кода, компилирующего в текущий словарь моё новое слово?
Action:
\ Режим компиляции слова задачи, в котором используются мои новые слова?
)#
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

Re: Поиск дочернего окна

Postby AlikasS » Thu, 17 Oct 2013, 11:12

Burunduk wrote:
Burunduk wrote:Попробую подключить константы.


Попробовал...

Крон сломался:
Loading error: nncron.ini:10

что это значит?

в nncron.ini на 10 строке ошибка.
покажи его
User avatar
AlikasS
 
Posts: 1434
Joined: Wed, 28 Jun 2006, 05:39
Location: Khabarovsk

Re: Поиск дочернего окна

Postby Burunduk » Thu, 17 Oct 2013, 11:22

\ This file contains nnCron settings.
\ The keywords are described in nnCron documentation.
\ All keywords are case sensitive.
\ Don't forget to place a blank space after each keyword.
\ Restart nnCron after editing this file to apply your changes.

ShowErrorMsg ON
Crontab: "nncron.tab"
Crontab: "Magnit.tab"
Editor: "default"
Language: Russian
Cronlog: "log\nncron.log"
LogTimeFormat: "%YYYY% %MM% %DD% %hh%:%mm%:%ss% %ThreadId%"
YearField ON
CompleteTaskTimeout: 2000
QueryStartTimeout: 30
QueryStartAnswer: Yes
DefaultOpenMode: ShowNormal
DefaultPriority: NormalPriority
DefaultLogonType: LogonInteractive
SysTrayIcon ON
IconForAdminsOnly OFF
MonitorResponseTime: 100
BackupPath: "backup"
WatchWinCreateDelay: 100
WatchProcDelay: 1000
Console OFF
ItemExit ON
ItemOptions ON
ItemConsole ON
ItemReload ON
ItemSuspend ON
MenuHotKey: ""
Guard ON
DialOnce ON
RunAsDefaultUser OFF
DefaultUser: "xx"
DefaultPassword: ""
DefaultDomain: "zz"
DefaultLoadProfile OFF
GUIAsUser OFF
GUIUser: "xx"
GUIPassword: ""
GUIDomain: "zz"
GUILoadProfile ON
SyntaxRestriction OFF
HelpFile: "doc\help.chm"
RemConsole ON
RemConsolePort: 2002
RemAllowed: 127.0.0.1
RemDisallowed: x.x.x.x
Log2StdOut OFF
DefaultRunMissedTime: 15
ReloadImmediately ON
TrayIconDoubleClick: options
TrayIconRightButton: menu
TrayIconBalloonClick: NOOP
PerfMonitor OFF
MaxClipboardSize: 10240
Outfile ON
Logging ON

INCLUDE "plugins\tools.spf"
INCLUDE "plugins\win2tray.spf"
INCLUDE "plugins\windows.spf"
INCLUDE "plugins\timesync.spf"
INCLUDE "plugins\wakeup.spf"
INCLUDE "plugins\time.spf"
INCLUDE "plugins\system.spf"
INCLUDE "plugins\ras.spf"
INCLUDE "plugins\http.spf"
INCLUDE "plugins\procwin.spf"
INCLUDE "plugins\winlirc.spf"
INCLUDE "plugins\net.spf"

: CRONTAB-ERROR 10 1 DO 100 I 100 * BEEP LOOP ;
: REMINDER-SOUND 500 500 BEEP ;
Burunduk
 
Posts: 73
Joined: Thu, 03 Oct 2013, 06:57

PreviousNext

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 2 guests

cron