Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глупый вопрос по Masm и Winapi
Форум программистов > Системное программирование > Другие
FourtySeven
Пишу программу которая будет пинговать определенный IP по расписанию
Проблема надо реализовать чтобы программа запускала "ping 127.0.0.1"
И получить в какой-нибудь переменной result текст выводимый текст. Например:
Цитата
Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128
Ответ от 127.0.0.1: число байт=32 время<10мс TTL=128

Статистика Ping для 127.0.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время передачи и приема:
наименьшее = 0мс, наибольшее = 0мс, среднее = 0мс


Хотя бы на уровне алгоритма, желательно с фрагментами кода.
Заранее благодарен.
Morpheus
]]><< код >>]]>

сори не глянул что Masm
FourtySeven
Я хотел бы посмотреть реалиацию через PING. Запуск процесса и получение его вывода. Можно на C.
Все равно спасибо.
Morpheus
Для: FourtySeven
Не , ну я так просто не отстану... mad.gif tongue.gif

опять же не на С, а на Delphi... НО! ИМХО это то что надо rolleyes.gif

]]><< То что надо >>]]>
FourtySeven
Пытаюсь переписать на ассмблере.
Вопрос 1:Что делает процедура FillChar
Вопрос в чем ошибка.
Цитата
.386
.model flat,stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\wininet.inc

includelib \masm32\lib\kernel32.lib
; includelib \masm32\lib\user32.lib
.data
ReadPipe dd ?
WritePipe dd ?
command db 'ping 127.0.0.1',0
wc STARTUPINFO <>
security SECURITY_ATTRIBUTES <>
.code
start:

MOV security.nLength,SIZEOF SECURITY_ATTRIBUTES
MOV security.bInheritHandle,TRUE
MOV security.lpSecurityDescriptor,NULL

INVOKE CreatePipe,ReadPipe,WritePipe,ADDR security,0

MOV wc.cb,SIZEOF wc
MOV wc.hStdOutput,WritePipe
MOV wc.hStdInput,ReadPipe
MOV wc.dwFlags,STARTF_USESTDHANDLES + STARTF_USESHOWWINDOW
MOV wc.wShowWindow,SW_HIDE
INVOKE CreateProcess,NULL,command,NULL,NULL,TRUE,NORMAL_PRIORITY_CLASS,NULL,NULL,ADDR wc,NULL
INVOKE ExitProcess,0
end start


Красным помечены ошибки.
Morpheus
Цитата(FourtySeven @ 24:11:2006, 20:41 )
1:Что делает процедура FillChar
*


Цитата
Fills contiguous bytes with a specified value.
Delphi syntax:
procedure FillChar(var X; Count: Integer; Value: Byte);
Description
In Delphi, FillChar fills Count contiguous bytes (referenced by X) with the value specified by Value (Value can be type Byte or Char).
Warning: This function does not perform any range checking.


со вторым я не помошник... асма не знаю sad.gif
Kmet
Цитата
Красным помечены ошибки.

А что за ошибки было сложно приветсти?
mov в x86 не поддерживет операции память-память.
FourtySeven
Насчет память-память понятно просто ступил. Что-то не получается переписать под MASM. Если не трудно помогите.
Kmet
Что именно не получается?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.