Forth
http://fforum.winglion.ru/

работа с импортируемыми функциями из dll
http://fforum.winglion.ru/viewtopic.php?f=24&t=1413
Страница 1 из 1

Автор:  AlikasS [ Вт июл 08, 2008 16:28 ]
Заголовок сообщения:  работа с импортируемыми функциями из dll

покажите плиз как в форте работать например с
функцией NtQuerySystemInformation (импортируется из ntdll.dll)
узнать сколько памяти занимает процесс?
конкретно что требуется, здесь
http://www.nncron.ru/forums/viewtopic.php?f=5&t=9559
не столь важно как это будет в nnCron, а например как будет на SPF
вообще как работать с функциями dll где такие массивы структур.
было бы познавательно

Автор:  AlikasS [ Пт июл 11, 2008 19:33 ]
Заголовок сообщения: 

никто не пользуется такими функциями из dll?

Автор:  вопрос [ Пт июл 11, 2008 21:02 ]
Заголовок сообщения: 

может просто никто не зашёл из тех, кто пользуется

Автор:  Ilya [ Сб июл 12, 2008 11:16 ]
Заголовок сообщения: 

Я думаю, что мы тему раскрыли (на другом форуме)? ;)

Автор:  вопрос [ Сб июл 12, 2008 12:03 ]
Заголовок сообщения: 

это где именно?

Автор:  Ilya [ Сб июл 12, 2008 21:44 ]
Заголовок сообщения: 

вопрос писал(а):
это где именно?

ДА в принципе всё там-же: http://www.nncron.ru/forums/viewtopic.php?f=5&t=9559
Вернее удалось обойтись апи-ёй GetProcessMemoryInfo. :D

Автор:  mOleg [ Пт июл 25, 2008 18:51 ]
Заголовок сообщения: 

по просьбе трудящихся пример кода, работающего со структурой данных:
Код:
\ из папки Черезова: devel\~ac\lib\win\file\FINDFILE.F
\ поиск файлов по шаблону и выполнение групповых действий
\ над файлами

REQUIRE { ~ac/lib/locals.f

WINAPI: FindFirstFileA       KERNEL32.DLL
WINAPI: FindNextFileA        KERNEL32.DLL
WINAPI: FindClose            KERNEL32.DLL

16 CONSTANT FILE_ATTRIBUTE_DIRECTORY

  0
  4 -- dwFileAttributes
  8 -- ftCreationTime
  8 -- ftLastAccessTime
  8 -- ftLastWriteTime
  4 -- nFileSizeHigh
  4 -- nFileSizeLow
  4 -- dwReserved0
  4 -- dwReserved1
256 -- cFileName          \ [ MAX_PATH ]
14 -- cAlternateFileName \ [ 14 ]
100 + CONSTANT /WIN32_FIND_DATA

: FIND-FILES ( addr u xt -- )
\ addr u - имя искомого файла или шаблон
\ xt ( addr u -- ) - процедура вызываемая для каждого файла
  { addr u xt \ data id }

  0 addr u + C!
  /WIN32_FIND_DATA ALLOCATE THROW -> data
  data /WIN32_FIND_DATA ERASE
  data addr FindFirstFileA -> id
  id -1 = IF data FREE DROP EXIT THEN
  data cFileName ASCIIZ> xt EXECUTE
  BEGIN
    data id FindNextFileA
  WHILE
    data cFileName ASCIIZ> xt EXECUTE
  REPEAT
  id FindClose DROP
  data FREE DROP
;

\ : TT TYPE CR ;
\ : T S" d:\cherezov\news\*.*" ['] TT FIND-FILES ;


Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/