Автовсплытие окон

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

Автовсплытие окон

Postby Mont » Sat, 11 Feb 2012, 11:41

Можно ли с помощью крона сделать автовспытие окон, при наведении на окно мышки, без нажатия кнопок?
Если можно, то напишите код, пожалуйста.
Mont
 
Posts: 5
Joined: Mon, 02 May 2011, 12:06

Re: Автовсплытие окон

Postby VoidVolker » Sat, 11 Feb 2012, 13:02

Code: Select all
#( Задача_134811022012
SingleInstance
WINAPI: WindowFromPoint user32.dll
: WIN-FROM-POINT   \ ( -- hwnd )
  MOUSE-POS  SWAP WindowFromPoint
;
Action:
BEGIN
  WIN-FROM-POINT GetForegroundWindow OVER <>
  IF N>S WIN-ACTIVATE ELSE DROP THEN
  100 PAUSE
AGAIN
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Автовсплытие окон

Postby Mont » Sat, 11 Feb 2012, 13:28

Спасибо, переключение происходит только если наводить на верхнюю полоску окна, а надо в любую точку окна. Это возможно?
Mont
 
Posts: 5
Joined: Mon, 02 May 2011, 12:06

Re: Автовсплытие окон

Postby VoidVolker » Sat, 11 Feb 2012, 15:11

Code: Select all
#( Задача_160911022012
SingleInstance
WINAPI: WindowFromPoint user32.dll
: WIN-FROM-POINT   \ ( -- hwnd )
  MOUSE-POS  SWAP WindowFromPoint
;

WINAPI: GetParent USER32.DLL
: TOP-PARENT-WINDOW   \ ( hwnd-child -- hwnd-parent )
  BEGIN DUP GetParent DUP WHILE
    NIP
  REPEAT
  DROP
;
Action:
BEGIN
  WIN-FROM-POINT TOP-PARENT-WINDOW GetForegroundWindow OVER <>
  IF N>S WIN-ACTIVATE ELSE DROP THEN
  100 PAUSE
AGAIN
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Автовсплытие окон

Postby Mont » Sat, 11 Feb 2012, 15:58

Все супер, спасибо. Осталось еще одна просьба: можно ли сделать, чтобы автосплытие работало только для окон с определенным заголовком? например, если в заголовке есть слово Prob*, то переключение возможно только между окнами, где есть такая маска? (prob, probny, moxget probel и т.д) Заранее спасибо.
Mont
 
Posts: 5
Joined: Mon, 02 May 2011, 12:06

Re: Автовсплытие окон

Postby VoidVolker » Sat, 11 Feb 2012, 16:35

Code: Select all
#( Задача_160911022012
SingleInstance
: MyWinText S" Prob" ;
WINAPI: WindowFromPoint user32.dll
: WIN-FROM-POINT   \ ( -- hwnd )
  MOUSE-POS  SWAP WindowFromPoint
;
WINAPI: GetParent USER32.DLL
: TOP-PARENT-WINDOW   \ ( hwnd-child -- hwnd-parent )
  BEGIN DUP GetParent DUP WHILE
    NIP
  REPEAT
  DROP
;

: GET-WTEXT   \ ( hwnd -- a u ) Получить текст окна по его хэндлу, работает и для дочерних окон
  PAD 256 ROT 13 SWAP SendMessageA PAD SWAP
;
Action:
BEGIN
  WIN-FROM-POINT TOP-PARENT-WINDOW GetForegroundWindow OVER <>
  OVER GET-WTEXT MyWinText SEARCH NIP NIP AND
  IF N>S WIN-ACTIVATE ELSE DROP THEN
  100 PAUSE
AGAIN
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Автовсплытие окон

Postby Mont » Sat, 11 Feb 2012, 18:15

Спасибо :supz:
Mont
 
Posts: 5
Joined: Mon, 02 May 2011, 12:06


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 5 guests

cron