Точка на экране

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

Postby VoidVolker » Thu, 06 Dec 2007, 22:45

Вот так будет лучше и удобнее:
Code: Select all
#( test_screenshot
NoLog
NoActive
WINAPI: CreateEnhMetaFileA gdi32.dll
WINAPI: CloseEnhMetaFile gdi32.dll
WINAPI: DeleteEnhMetaFile gdi32.dll
WINAPI: BitBlt gdi32.dll
WINAPI: GetDeviceCaps gdi32.dll
: SCREENSHOT  ( a u -- )  { \ mdc sdc --}
\ HDC mdc, sdc;
\ sdc = GetWindowDC(GetDesktopWindow());
  GetDesktopWindow GetWindowDC TO sdc
\ mdc = CreateEnhMetaFile(sdc, "c:\\screenshot.emf", NULL, NULL);
  0 0 2SWAP S" .emf" S+ S>ZALLOC sdc CreateEnhMetaFileA TO mdc
\ BitBlt(mdc, 0, 0, GetDeviceCaps(sdc, DESKTOPHORZRES), GetDeviceCaps(sdc, DESKTOPVERTRES), sdc, 0, 0, SRCCOPY);
  13369376 0 0 sdc 10 sdc GetDeviceCaps 8 sdc GetDeviceCaps 0 0 mdc BitBlt DROP
\ ReleaseDC(GetDesktopWindow(), sdc);
  sdc GetDesktopWindow ReleaseDC DROP
\ DeleteEnhMetaFile(CloseEnhMetaFile(mdc));
  mdc CloseEnhMetaFile DeleteEnhMetaFile DROP ;
Action:
S" C:\скриншот" SCREENSHOT
)#
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Postby Yury Zhukov » Fri, 07 Dec 2007, 11:05

VoidVolker wrote:
Code: Select all
: SCREENSHOT  ( a u -- )  { \ mdc sdc --}

Подскажи, а VALUE-переменные внутри слова не надо объявлять или в фигурных скобках это и есть объявление? Т.е. что означает строка
Code: Select all
{ \ mdc sdc --}
Нас невозможно сбить с пути,
Нам пофигу куда идти.
Yury Zhukov
 
Posts: 243
Joined: Thu, 16 Jun 2005, 09:22
Location: Москва

Postby VoidVolker » Fri, 07 Dec 2007, 21:15

Это т.н. "локалсы", локальные переменные, существующие только внутри используемого слова:
Code: Select all
\ пример простого использования
: test { a b | c d }  \ a b инициализируюся со стека, c и d нулями
  a TO c
  b TO d
  c . d . ;
1 2 test
>1 2
> Ok

Более подробно http://spf.cvs.sourceforge.net/spf/lib/ ... f?view=log
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Postby Yury Zhukov » Sun, 09 Dec 2007, 21:01

Спасибо, понял.
И отвлеченный вопрос: а аналогичного репозитория в SVN нет? Как-то мне Subversion привычнее. Просто я до сих пор считал, что SourceForge ведет параллельно два репозитория, но не нашел ссылки на SPF в SVN-е....
Нас невозможно сбить с пути,
Нам пофигу куда идти.
Yury Zhukov
 
Posts: 243
Joined: Thu, 16 Jun 2005, 09:22
Location: Москва

Re:

Postby ascerdfg1 » Wed, 11 Apr 2012, 20:53

roman78 wrote:
Теперь при выполнении задачи выскакивает сообщение вида:
"0TASK%[missed]%: Задача294882"


Code: Select all
#( tt 
NoActive
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( x y -- RGB )
  GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
Action:
100 100 GET-PIXEL
N>H S>ZALLOC ASCIIZ> MsgBox
)#

Code: Select all
#( tt \ вывод цвета точки с координатами 724 265
NoActive
WINAPI: GetPixel gdi32.dll
: GET-PIXEL  ( x y -- RGB )
  SWAP GetDesktopWindow DUP >R GetWindowDC DUP >R GetPixel R> R> ReleaseDC DROP ;
Action:
4000 PAUSE
724 265 GET-PIXEL
N>H S>ZALLOC ASCIIZ> MsgBox \ BBGGRR
)#
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Точка на экране

Postby ascerdfg1 » Mon, 31 Dec 2012, 13:55

Ни SCREENSHOT ни GET-PIXEL не видят вот эту программу: R-Matrix 1.7 trial.exe, только PrintScreen и вставка в Paint. Как можно ещё обойти?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Точка на экране

Postby VoidVolker » Mon, 31 Dec 2012, 14:59

Использовать программу для снятия скриншотов с поддержкой командной строки. Напрмиер IrfanView:
Code: Select all
i_view32.exe /capture=0

Захват всего экрана.
Code: Select all
i_view32.exe /capture=6

Захват с настройками из INI-файла.

режимы захвата:
0 = весь экран
1 = текущий монитор (на котором находится мышь)
2 = активное окно
3 = активное окно - только содержимое
4 = выделенный прямоугольник
5 = объект, выбранный мышью
6 = с последними настройками захвата (несовместим с другими ключами)

Дополнительные примеры:
Code: Select all
i_view32.exe /capture=2 /convert=c:\test.jpg

Захват активного окна с сохранением результата в файл.

Code: Select all
i_view32.exe /capture=2 /convert=c:\capture_$U(%d%m%Y_%H%M%S).jpg

Захват активного окна с сохранением результата в файл, в имени которого указано время захвата.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Re: Точка на экране

Postby ascerdfg1 » Mon, 31 Dec 2012, 16:25

А аналог GET-PIXEL есть чтоб видет то что не видит GET-PIXEL ?
nncron.exe v 1.93b10 Build 1141
tm.exe v 1.93b10 Build 569
Windows XP (5.1.2600) SP3
Комп без nnCron - груда металла!
User avatar
ascerdfg1
 
Posts: 541
Joined: Thu, 29 Nov 2007, 02:45
Location: г. Алексин

Re: Точка на экране

Postby VoidVolker » Mon, 31 Dec 2012, 18:25

Может и есть — это надо копать МСДН.
95% вопросов уже обсуждались на форуме или ответы на них есть в мануале.        nnCron 1.93 b15.exe
Как правильно задавать вопросы.
User avatar
VoidVolker
Site Admin
 
Posts: 2898
Joined: Tue, 25 Apr 2006, 17:56

Previous

Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 5 guests