Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 544
от 16.05.2003, 11:00

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 3219
Отправлено ответов: 9427
Активность: 292.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Broken Sword
Статус: Профессиональный
Общий рейтинг: 122.94
URL: моя рассылка по Protected Mode
[Подробней >>]
Lynx
Статус: Опытный
Общий рейтинг: 139.84
[Подробней >>]
Pin
Статус: Доверительный
Общий рейтинг: 127.52
[Подробней >>]
 
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 150.38
URL: Программирование
[Подробней >>]
DiGiT[old]
Статус: Профессиональный
Общий рейтинг: 111.65
[Подробней >>]
_vt
Статус: Доверительный
Общий рейтинг: 121.1
[Подробней >>]
 
Maverick
Статус: Профессиональный
Общий рейтинг: 133.33
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Ramzes
Статус: Опытный
Общий рейтинг: 127.98
URL: Microsoft homepage
[Подробней >>]
shum
Статус: Начальный
Общий рейтинг: 106.52
[Подробней >>]
 
Portnov
Статус: Профессиональный
Общий рейтинг: 111.02
URL: Мой сайтик...
[Подробней >>]
Tigran K. Kalaidjian
Статус: Опытный
Общий рейтинг: 115.72
URL: Методы оптимизации работы ПК
[Подробней >>]
Hangatyr
Статус: Опытный
Общий рейтинг: 122.4
[Подробней >>]
 
Eugene
Статус: Профессиональный
Общий рейтинг: 108.57
URL: мощный файловый архив
[Подробней >>]
Insane coder
Статус: Начальный
Общий рейтинг: 102.56
[Подробней >>]
GL
Статус: Опытный
Общий рейтинг: 102.82
[Подробней >>]
 
ASMодей
Статус: Профессиональный
Общий рейтинг: 115.16
[Подробней >>]
St
Статус: Опытный
Общий рейтинг: 107.9
[Подробней >>]
baldr
Статус: Профессиональный
Общий рейтинг: 112.5
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 3168. Помогите советом, пожалуйста. Мне нужно написать программу, которая под ДОС делает эмуляцию принтер... (ответов: 2)
Вопрос № 3169. Я хочу сделать прогу, которая должна считать время подключения к интернету.Подскажите, пожалуйста, ф... (ответов: 2)
Вопрос № 3170. Дорого времени суток уважаемые эксперты! Захотел я установить себе MSDN закупился компактами, НО тре... (ответов: 3)
Вопрос № 3171. И еще по вопросу №3170 (установка IE 6.0) AppName: iexplore.exe AppVer: 6.0.2600.0 ModName: ntdll... (ответов: 2)
Вопрос № 3172. Hi! Вот написал программу - по идее должна считывать первый сектор диска и выводить на экран. Но на ... (ответов: 3)
Вопрос № 3174. Значит насчёт СОМ файлов создовал, работают влёт. А насчёт ЕХЕ, должен просто работать. Я пытался со... (ответов: 1)
Вопрос № 3177. Здраствуйте! Я хочу разобраться с boot сектором. (уж очень часто он у меня портится) Каким образом п... (ответов: 3)
Вопрос № 3180. PMJI. 00x0h) Я тут собираю библиотеку книг по программированию на своём сайте. Зубков, Абель у меня ... (ответов: 3)
Вопрос № 3181. Доброе время суток, эксперты. Может у кого завалялся дизассемблер sourcer, тот что bios рассматривае... (ответов: 2)
Вопрос № 3182. Ув. эксперты! Возник следующий щекотливый вопрос!!! Изучаю АСМ под Винды по "системе" Зубк... (ответов: 5)
Вопрос № 3183. Здравствуте, Вопрос к Broken Sword, Bob Johnson, Hangatyr, вобщем ко все кто наезжал на Linux. Так в... (ответов: 4)
Вопрос № 3184. каким образом возможно скопировать информацию с экрана и пренести ее в файл. Что то вроде того как к... (ответов: 5)
Вопрос № 3185. Здравствуйте, уважаемые г-да Эксперты! Прошу меня простить, т.к. задам вам вопрос не имеющий отношен... (ответов: 8)

Вопросов: 13, ответов: 43


 Вопрос № 3168

Помогите советом, пожалуйста.
Мне нужно написать программу, которая под ДОС делает эмуляцию принтера. Тоесть, если под ДОС кто-то пытается распечатать файл, то вместо этого файл выводится не на печать, а постранично на экран. Я уже давно не программировал под ассемблер, и потому немного подзабыл. Подскажите, полуйста, как это можно сделать. Буду очень благодарен за небольшие примерчики. Спасибо



Вопрос отправлен: 11.05.2003, 11:11
Отправитель: Goofball

[Следующий вопрос >>] [Список вопросов]

Отвечает Broken Sword

Здравствуйте, Goofball!
В ДОС-е так можно сделать только в том случае, если прога из которой производиться печать использует стандартный ввод/вывод; в этом случае принтер - это PRN, экран - STDOUT. Меняешь параметр перед нужным вызовом int 21 - и текст у тебя на экране. Если прога выводит прямо в порт - то нихрена у тебя не выйдет

Ответ отправлен: 11.05.2003, 12:13
Отправитель: Broken Sword


Отвечает Lynx

Здравствуйте, Goofball!
Пока без примеров.
Перехватываешь прерывание 17h. Как известно, то f.0/int.17h - это вывод символа на принтер. Пишешь новый обработчик, в котором сначала проверяешь, какой номер фукции был задан. Если 0, то выводишь символ из al на экран и возвращаешь управление программе, если нет, то передаёшь управление старому обработчику прерывания.
Если у тебя самого что нить не получиться, то напиши, вместе что нить придумаем. ;)


Ответ отправлен: 11.05.2003, 12:12
Отправитель: Lynx


 Вопрос № 3169

Я хочу сделать прогу, которая должна считать время подключения к интернету.Подскажите, пожалуйста, функции для перхвата сообщений подключения к интернету.И если не трудно, подробное описание функции, т.к. у меня нет API-справочника.



Вопрос отправлен: 11.05.2003, 12:50
Отправитель: BOLT

[Следующий вопрос >>] [Список вопросов]

Отвечает Pin

Добрый день, BOLT!
Пробуй периодически конектиться к некому сайту.

Ответ отправлен: 11.05.2003, 23:32
Отправитель: Pin


Отвечает Lynx

Приветствую Вас, BOLT!
Что бы долго не выделываться, можно просто, например, каждые 10 секунд проверять связь с каким нить сервером (например с yandex.ru). Если связь есть, значит ты в сети, если нет, то нет. Но функций я не помню. (Блин, плохо когда не знаешь, да ещё и забудешь :))))


Ответ отправлен: 11.05.2003, 14:18
Отправитель: Lynx


 Вопрос № 3170

Дорого времени суток уважаемые эксперты!
Захотел я установить себе MSDN закупился компактами, НО
требуется IE 5.5 и выше, а у меня соответственно IE 5.0
И вобщем проблемка с установкой небольшая!
Инсталирую IE 6.0 все ставится, перезапускаю комп.
Запускаю EI, и... нихрена :(((,
Microsoft Internet Explorer - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
Ну нихрена не запустить!!! Побовал ставить IE 6.0 Rus & Eng
тоже самое ошибка вылезает. И IE 5.5 Eng все равно ошибку выдает :((((. Подскажите в чем дело, как поставить IE 6.0
а то MSDN не идет!!!
P.S. У меня Win2kpro SP3 все Eng!



Вопрос отправлен: 11.05.2003, 14:06
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает Pin

Приветствую Вас, Andrey!
Win2k SP3 - проблемм нет!
Попробуй сделать восстановление системы - возможно загажена какая-нибудь DLL

Ответ отправлен: 11.05.2003, 23:34
Отправитель: Pin


Отвечает Bob Johnson

Приветствую Вас, Andrey!
Попробуй другой дистрибутив, на вирусы проверь.

Ответ отправлен: 11.05.2003, 23:37
Отправитель: Bob Johnson


Отвечает DiGiT[old]

Доброе время суток, Andrey!
Какой MSDN? Если тот который идет с .NET то наверное NET положено сначала поставить, а вместе с ней ставится и MSDN. А чтобы его поставить, но нужен IE6.0, и предварительно поставить FrameWork с пятого диска. А если из VS6.0 то она ставилась без проблем :).

Ответ отправлен: 12.05.2003, 04:32
Отправитель: DiGiT[old]


 Вопрос № 3171


И еще по вопросу №3170 (установка IE 6.0)
AppName: iexplore.exe AppVer: 6.0.2600.0 ModName: ntdll.dll
ModVer: 5.0.2195.4334 Offset: 0000401b
Так на всякий случай!



Вопрос отправлен: 11.05.2003, 14:26
Отправитель: Andrey

[Следующий вопрос >>] [Список вопросов]

Отвечает Pin

Добрый день, Andrey!
Точно DLL повреждена. Восстанови в ручную из SP!

Ответ отправлен: 11.05.2003, 23:36
Отправитель: Pin


Отвечает Bob Johnson

Добрый день, Andrey!
У кого нибудь работает та версия, которую ты ставил? Если нет, то тут все понятно.


Ответ отправлен: 12.05.2003, 20:19
Отправитель: Bob Johnson


 Вопрос № 3172

Hi! Вот написал программу - по идее должна считывать первый сектор диска и выводить на экран. Но на деле возникает такая проблема - выводитятся пустые символы. При отлаживании в одних дебагерах происходит считывание (правда не знаю правильно или нет - но буфер заполняется), а в других никаких изменений в буфере - может кто объяснить в чем проблема?


Приложение:


Вопрос отправлен: 11.05.2003, 14:24
Отправитель: Псих

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Приветствую Вас, Псих!
Вот подправленный вариант, должен работать...


Приложение:

Ответ отправлен: 11.05.2003, 23:35
Отправитель: _vt


Отвечает Pin

Приветствую Вас, Псих!
А что прерывание возвращает в AH?

Ответ отправлен: 11.05.2003, 23:38
Отправитель: Pin


Отвечает Lynx

Здравствуйте, Псих!
Странно, но когда я просматриваю buff по f.9/int.21 то показывается замечательно => всё считывается нормально. Попробуй разобраться с адресами.


Ответ отправлен: 11.05.2003, 16:40
Отправитель: Lynx


 Вопрос № 3174

Значит насчёт СОМ файлов создовал, работают влёт.
А насчёт ЕХЕ, должен просто работать. Я пытался создать ЕХЕ от DOS в ручную 16 ричным редактором. Но ничего кроме ошибок не получил. А пока я задачу на бумаге не пойму в ком я её не загоню вот, так что считай что на бумаге и не работает. А т.к. у меня с инглишем мягко говоря напряг, то описание форматов для меня практически дремучий лес. И если маш коды более или менее получилось расколотить научным тыком (всякие расширенные я уже по книгам изучал и то поверхностно). то с ЕХЕ не прокатило. так, что если не жаль исходник или объеснение на русском, пожалусто.



Вопрос отправлен: 11.05.2003, 16:05
Отправитель: shum

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Приветствую Вас, shum!
Да не жаль, конечно, только вот нет его у меня. Надо будет самому разбираться, чтобы потом тебе объяснить. Но это сейчас не могу - заморачиваюсь с дипломом. Если будет нужно - пиши после 25, тогда смогу посмотреть.
Сейчас могу порекомендовать учить английский (т.к. еще не раз понадобится, если собираешься программировать) и сходить на wasm.ru - там есть описание РЕ формата, может есть и для дос (дос он попроще будет).
Могу только сказать, что вначале файла идет IMAGE_DOS_HEADER, описание которого с небольшими комментариями есть в winnt.h.
В принципе, я нашел сейчас тебе хорошее описание ехе, но оно на английском. Если нужно - пиши bobjohn@newmail.ru


Ответ отправлен: 12.05.2003, 20:19
Отправитель: Bob Johnson


 Вопрос № 3177

Здраствуйте!
Я хочу разобраться с boot сектором.
(уж очень часто он у меня портится)
Каким образом происходит загрузка и т.д.
Словом, требуется описание boot сектора HDD.
Буду благодарен за любую инфу, статью, ссылку и пр.
С уважением, Sammy



Вопрос отправлен: 11.05.2003, 16:28
Отправитель: sammy (sfxgt666@yahoo.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает Lynx

Здравствуйте, sammy!
отправил


Ответ отправлен: 11.05.2003, 16:53
Отправитель: Lynx


Отвечает Maverick

Здравствуйте, sammy!
Как так портится? Обычно это результат работы корявых вирусов или корявых антивирусов...Вообще его убить можно 15 байтами, ну и сохранить в файл можно.
Сохрани его на дискетку, и там же накалякуй программку для восстановления, это займет минут 5.

Ответ отправлен: 12.05.2003, 06:34
Отправитель: Maverick


Отвечает Ramzes

Привет
Приведу пример в виде структуры на c++
struct
{
char szJmp[3]; // переход на код загрузки
char szName[8];// имя компании и версия
short SectorSize;//размер сектора в байтах
char ClusterSize;//размер кластера в секторах
short ReservedSectCount;//кол-во резервных секторов
//(секторов перед первой FAT)
char FatCount;// кол-во копий FAT
short RootSize;//кол-во элементов корневого каталога
short TotalSectors;//кол-во секторов на носителе
char Media; //дескриптор носителя
short FatSize; // размер FAT (в секторах)
short TrckSecs; //кол-во секторов на дорожку
short HeadCnt; // число головок чтения/записи (поверхностей)
short HiddenSectors; // спрятанных секторов
} BOOT_SECTOR

Ответ отправлен: 13.05.2003, 13:34
Отправитель: Ramzes


 Вопрос № 3180

PMJI.
00x0h) Я тут собираю библиотеку книг по программированию на своём сайте.
Зубков, Абель у меня есть, но я посмотрел рассылку и нашёл
ещё:
01x0h) Пирогов "Программирование на ASM для Windows".
Есть ли эта книга в электронном виде? Где её достать?
02x0h) Петя Нортон. Где взять его книги (тоже в эл. виде)?
03x0h) Может есть ещё какие-нибудь книги по этому делу
(и начинающим и опытным), которые я не знаю?
Спасибо, WTG, YWIA...
Поменьше вам POP и побольше PUSH.



Вопрос отправлен: 11.05.2003, 20:24
Отправитель: URiS (newff.narod.ru) (urisff@inbox.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Lynx

Добрый день, URiS (newff.narod.ru)!
Ну во-первых не 00x0h , а 0x00. :)))
У меня 26 архивов (около 6 мегов) литературы по асму. Если тебе надо, то напиши мне, вышлю. (не всё сразу, но частями)

Ответ отправлен: 11.05.2003, 21:26
Отправитель: Lynx


Отвечает shum

Доброе время суток, URiS (newff.narod.ru)!
По пунктам 01х0h,02х0h ничем помочь не могу,
а вот по 03х0h загляни на http://www.proglib.ru/
там много всякого барохла и думаю, что всё ты из того, что там лежит, ты не знаешь. (а если знаешь ну извени у тебя на сайте этой ссылки нет)

Ответ отправлен: 11.05.2003, 23:39
Отправитель: shum


Отвечает Bob Johnson

Добрый день, URiS (newff.narod.ru)!
А ты поисковый сервер пробовал? :)


Ответ отправлен: 12.05.2003, 20:20
Отправитель: Bob Johnson


 Вопрос № 3181

Доброе время суток, эксперты.
Может у кого завалялся дизассемблер sourcer, тот что bios
рассматривает, пожалуйсто пришлите комплектик.
Огромное спасибо, удачи всем.
Alex.



Вопрос отправлен: 11.05.2003, 22:40
Отправитель: Alex (alex5775@email.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Portnov

Доброе время суток, Alex!
Он не маленький - 1.3Mb. См. на wasm.ru, в разделе инструментов - я там брал.

Ответ отправлен: 12.05.2003, 17:30
Отправитель: Portnov


Отвечает Tigran K. Kalaidjian

Доброе время суток, Alex!
У меня есть Sourcer 4.04 и 5.10
Не знаю какое он имеет отношение к BIOS, но если нужно пиши на kalaidjian@pochtamt.ru - отправлю.

Ответ отправлен: 12.05.2003, 22:01
Отправитель: Tigran K. Kalaidjian


 Вопрос № 3182

Ув. эксперты! Возник следующий щекотливый вопрос!!! Изучаю АСМ под Винды по "системе" Зубкова. Так вот, компилю ТАСМом исходник для программы создания окна - все Хор. Но вот создал файл ресурсов для меню, внес необходимые изменения в код - и в итоге программа загружается, но окна не видно!!! Нажимаю Ктрл-Алт-Дел, а она там сидит и завершать приходится только кнопкой "Завершить задачу". В исходнике ошибка исключена. Что это за фигня и как с ней бороться???
ЗЫ. Расшифруйт, пожалуйста, слово "имхо"...



Вопрос отправлен: 11.05.2003, 23:52
Отправитель: PVL (krishna@unilnet.com)

[Следующий вопрос >>] [Список вопросов]

Отвечает Hangatyr

Доброе время суток, PVL!


Ответ отправлен: 12.05.2003, 00:39
Отправитель: Hangatyr


Отвечает Eugene

Здравствуйте, PVL!
Ты хотя бы исходник прислал, что-ли. А имхо - это по моему мнению.
P.S. что за названия для мыла придумывают: кришна, 666 и т.п. - даже противно отвечать.

Ответ отправлен: 12.05.2003, 09:34
Отправитель: Eugene


Отвечает Lynx

Здравствуйте, PVL!
Я точно не знаю, но и исключать ошибку в исходнике я бы не стал. Может происходит ошибка при вызове? Но я только предполагаю.
ЗЫ. ИМХО - По моему скромному мнению.


Ответ отправлен: 12.05.2003, 15:16
Отправитель: Lynx


Отвечает Bob Johnson

Доброе время суток, PVL!
1. Код в студию (как тут принято стало говорить) :)
2. имхо = IMHO = In My Humble Opinion = по моему скромному мнению, но обычно "Humble" не несет никакой реальной нагрузки :).


Ответ отправлен: 12.05.2003, 20:20
Отправитель: Bob Johnson


Отвечает Tigran K. Kalaidjian

Доброе время суток, PVL!
Отвечу на вторую часть вопроса.
IMHO - In My Humble Opinion. Одно из наиболее употpебительных слов в Фидо и конференциях Usenet. Давно потеpяло пеpвоначальное значение, чаще всего употpебляется пpосто в значении "по-моему" или в кpайнем случае "мне кажется". В то же вpемя обязательно употpебление этого слова пpи явно споpных заявлениях.
Пpизнаком кpайнего занудства считается выделение IMHO запятыми.


Ответ отправлен: 13.05.2003, 16:54
Отправитель: Tigran K. Kalaidjian


 Вопрос № 3183

Здравствуте,
Вопрос к Broken Sword, Bob Johnson, Hangatyr, вобщем ко все кто наезжал на Linux. Так вот я считаю что fork достаточно удобная функция - лучще выполнить одну инструкцию, чем возится со всеми хитроизъ*бскими (простите конечно) параметрами CreateProcess. Или не так.



Вопрос отправлен: 12.05.2003, 05:20
Отправитель: Loed

[Следующий вопрос >>] [Список вопросов]

Отвечает Hangatyr

Доброе время суток, Loed!
Так никто и не спорит - в некоторых случаях простота fork-а оправдана (например, если просто надо наплодить потомков- вызывай его в цикле, да отлавливай потомков), но вопрос-то стоял не так. Сколько задач можно решить fork-ом (который вызывается без параметров)? И сколько с помощью API (тот же CreateProcessA с его, как ты изволил выразиться, хитроизъ*скими параметрами)? Гибкости в нем нет. Clone, как я уже говорил на форуме (если кто-то читал) - это уже другой разговор - все же 4 параметра, уже можно указать точку входа и передать параметр, флаги тоже кое-чего стоят, но все равно повторяю ДО API ЕМУ ДАЛЕКО (по возможностям)!
ЗЫ И не надо было создавать еще один форум - вот доберутся до него E$H с Gogaren-ом и опять начнется война.

Ответ отправлен: 12.05.2003, 09:26
Отправитель: Hangatyr


Отвечает Broken Sword

Добрый день, Loed!
конечно удобная - никаких тебе параметров, создал процесс, он наследует дескрипторы родителя - делай в его теле чего душе угодно...
чем CreateProcess гибче? Никаких хитроиз*бских параметров там нет, он сочетает в себе несколько линуксовских вызовов, которые тебе по любому придется (возможно потом) реализовывать. Например, после fork-а часто вызывается execv; так зачем отдельно это делать (налицо - дополнительные лишние обращения к ядру) если в createprocess это делается автоматом? Другой пример - в линухе при создании дочернего процесса тебе не предоставляется НИКАКОЙ ПРИОРИТЕТНОСТИ! Т.е. ты никогда не сможешь сказать код какого процесса выполниться первым и в каком порядке проц будет переключать задачи. Что предлагается разработчиками линуха? waitpid. Вот и вся "приоритетность".
А перед вызовом createprocess - можешь задать приоритет создаваемого процесса еще ДО его создания!!! Т.е. после createprocess у тебя автоматически включается этакий "waitpid"! Нужно ли это все? Ну кому как, но вообще здравый смысл подсказывает что еще как нужно.
(Кстати, fork - это просто "simplifying" clone-а)
То же можно и по каждому пункту. Взять те же сокеты. Хоть они и пошли из BSD, и действительно - до NT их реализация в винде могла вызвать лишь ироничную улыбку, зато в NT сокетовская имплементация переплюнет даже посление линуксы.
Простота и документированность - вот залог успеха (сомнительного) *nix. E$h и т.п. кретины не имеют к *nix никакого отношения, однако именно такие как он продолжают держать умы несведущих юзеров в сладостном наваждении при одном только упоминании слова *nix - просто это МОДНО, это КРУТО, а взять по любому пункту - опустить можно в две сек.
Вообщем, изначально тред в форуме задумывался как сравнительная оценка ядра винды NT и линукса (кто нибудь видел такое где нибудь? ну помимо криков о том что windows must die и linux forever)! по существу? нет? Вот потому что из-за дурачков типа e$h-а и co. все сидят и боятся слово молвить, а чем так крут *nix ? Это неважно! главное что windows must die бла бла бла...

Ответ отправлен: 12.05.2003, 14:34
Отправитель: Broken Sword


Отвечает Bob Johnson

Добрый день, Loed!
Жаль, что форум запороли. Нужно бы новый создать - только чтобы в нем было меньше мата и больше реальных доводов.
Я тут узнал немного о fork и мне объяснили, что она предназначена для создания параллельного вычисления, т.е. процесс вызывает fork и раздваивается. В таком случае особых претензий к этой функции нет по возвращаемому ею результату. Но, она могла бы принимать какой-нибудь там пользовательский параметр, чтобы ребенок мог узнать, какой он по счету (для многодетных приложений) и отсюда выбрать свою часть вычислений. Иначе это уже дополнительных гемор, значительно больший, чем заполнить пару лишних параметров.
Но в этом контексте эта функция сравнима больше с CreateThread, чем с созданием нового процесса, а CrThread - очень проста в применении и не требует почти никаких параметров (можно нули давать).
С другой стороны ничего сложного нет и в параметрах CreateProcess кроме StartupInfo, которое, в принципе, заполняется с помощью ZeroMemory. Зато какая функциональность! Можно много чего указать, даже чтобы окно не создавалось.
Вообще, всегда когда я начинал изучать новый раздел Win32, мне казалось, что это будет ну очень сложно. Так было с WSA, DirectSound, Direct3D и т.д. Но потом, почитав MSDN и посмотрев пару сэмплов, оказывается, что все это на самом деле достаточно просто. Уж есть быть честными, то винду не дураки писали - из функций есть практически все! Надежность - это, конечно, отдельный вопрос. Возможно даже, что винда умышленно дополняется парой ошибок - вот если вспомнить, как Гейтс презентовал 98 - там у него все нахрен повисло при включении USB сканера. И что же? После этого вышла версия Windows 98 (4.10.98), которая в моей памяти запомнилась только с лучшей стороны (конечно, ничего суперского там не было, повесить ее было как два пальца, но повесить можно все что угодно - у меня MMX или MMS (не помню, как его) повесил пару раз и Asp Linux 7.1). А в той версии работало все просто супер, и никаких глюков при установки оборудования, драйверов и т.д. Может такая версия вышла для сглаживания эффекта от презентации. к сожалению, сейчас поддерживается только 98 SE и то через жопу.
С другой стороны, Linux (точнее - Asp 7.1) мне запомнился как отрицательная ОС. Удобство пользователя - не очень, чтобы FAT32 диски подключить - надо разобраться с mount, в KDE есть панель управления, в Gnome нет вообще (не нашел :(). Какой-то пункт панели не работал. Принтер матричный надо настраивать, иначе печатал вместо реального текста из AbiWord файл в том виде, как он есть. Какие программы установлены - непонятно, все в одном-двух каталогах свалено. Среда разработки K-Develop постоянно вываливалась (хотя я там пробовал что-то типа printf и не более). Звук вообще непонятно как работал - sndconfig писала, что sblive! (emu10k1) не поддерживается, но он работал. Микшер - просто убой, драйвера видео поставить не смог, что-то там с версией ядра 2.4. проблемы были (хотя я не руль в линуксе, может и сам виноват, но вряд ли). Структура каталогов - тоже не подарок. Браузеры, хоть и много, но толку... Ни один нормально javascript не поддерживал. Еще знакомый решил поставить себе asp 7.2 и попытался при установке линуксовым partition manager'ом перераспределить FAT32 диски, так запорол всю информацию...
В общем вот такой опыт. Реально, мало кто работает только в линуксе - практически у всех есть винда (преимущественно НТ), и они чаще просто говорят, как крут линукс, а сами-то проги в VC++ пишут...
В общем у винды два недостатка - глючность и платность. Первый сейчас на нормальном уровне (например, ХР), а второй России как-то пока не касается. Лучше бы и не коснулся. Платить за байты данных - это как за входящие звонки :).
Если есть еще желание подискутировать на эту тему (только более-менее прилично), то создавай форум...


Ответ отправлен: 12.05.2003, 20:21
Отправитель: Bob Johnson


Отвечает Ramzes

Приветствую Вас, Loed!
Конечно НЕТ !
все эти хитро... параметры имеют свое конкретное назначение, и придуманы не просто так.
При помощи вышеупомянутых параметров ты можешь задавать security атрибуты процесса, а также всякие там полезные штучки наследования описателей при создании дочерних процессов.

Ответ отправлен: 13.05.2003, 13:55
Отправитель: Ramzes


 Вопрос № 3184

каким образом возможно скопировать информацию с экрана и пренести ее в файл.
Что то вроде того как кнопка Print screen печатает на принтер, тока в файл.



Вопрос отправлен: 12.05.2003, 10:49
Отправитель: Денис

[Следующий вопрос >>] [Список вопросов]

Отвечает shum

Здравствуйте, Денис!
Тебя это в каком аспекте интересует, программном или чисто житейском?
Если в программном, то под DOS или WIN
Начнём с житейского (при условии что ты в Win)
1. Нажимаешь этот самый Print screen.
2. Запускаешь лубой графический редактор (да хоть Paint)
3. Создаёшь новое изображении (размер=размеру твоего экрана)
4. Жмёшь функцию Вставить (Paste)
Картинка на блюдечке.
Програмный под Dos
1. Перехватываешь 5 прерывание на нём весит Print screen
2. В оброботчике определяешь режим (текс/граф) и снемаешь ту часть памяти которая отвечает за хранение нужных данных
ВНИМАНИЕ!
Если твой отработчик не отработает то срабатывания прерывания от таймера - машина повиснет :-)
В случаи графики это случится в с 98% вероятность => придётся писать обработчик и для таймера.
Програмный под Win
1. Нажимаешь этот самый Print screen.
2. Через API функции снимаешь из буфера обмена нужные данные.
Но искренне надеюсь что нужен был чисто житейский случай, ну на крайний случай под Dos (для самообразования)

Ответ отправлен: 12.05.2003, 14:34
Отправитель: shum


Отвечает Insane coder

Здравствуйте, Денис!
Что за вопрос?

Ответ отправлен: 12.05.2003, 14:35
Отправитель: Insane coder


Отвечает Lynx

Доброе время суток, Денис!
Если под виндой, то нажимаешь Print Screen, а потом вставляешь в Paint из буфера обмена. А если под дос, то наверное просто надо считать видеобуфер.


Ответ отправлен: 12.05.2003, 15:16
Отправитель: Lynx


Отвечает GL

Доброе время суток, Денис!
Для доса есть программы типа SNIPPER, для виндуса - KleptoMania (это если текст нужен). Если графика - для доса тот же SNIPPER (вроде, уж и не помню) или Vgacap (этот точно), а в виндусе нажми Print Screen (весь экран будет скопирован в буфер обмена), затем запусти Paint и сделай вставку из буфера.

Ответ отправлен: 12.05.2003, 15:42
Отправитель: GL


Отвечает Pin

Добрый день, Денис!
Буфер текстового режима экарна начинается с 0B800h. Запиши его в файл.

Ответ отправлен: 13.05.2003, 17:38
Отправитель: Pin


 Вопрос № 3185

Здравствуйте, уважаемые г-да Эксперты!
Прошу меня простить, т.к. задам вам вопрос не имеющий отношения к программированию т.е. он все же имеет непосредственное отношение, но скорее
личного характера. Так вот, давно хочу выяснить кто из ассемблерщиков чем занимается (где мне было найти еще столько профессиональных программистов
на языке ассемблера, как не здесь?), в смысле, кто-то изучает асм чтобы писать вирусы, кому-то нравится изучать операционные системы, кому-то системное программирование,
кто-то вообще пишет на нем приложения и т.д. Вообщем, хотелось сделать небольшую статистику. Ну чтобы вы не особо ругались задам еще 1 вопрос: все мы знаем как перейти в
Win95/98 в Ring 0, но вот под NT все эти способы не работают, так вот как-то, вычитал в одной эхе, что такой способ есть, но какой там не указывалось. Есть идеи по этому поводу?
В любом случае премного благодарен.
Alex Osipov aka Karkalka



Вопрос отправлен: 12.05.2003, 10:54
Отправитель: Karkalka

[Следующий вопрос >>] [Список вопросов]

Отвечает ASMодей

Приветствую Вас, Karkalka!
Тебя интересует чем занимаются вообще или с использованием ассемблера?
Если вообще, то я, например, работаю программистом, но программы пишу не на
ассемблере и даже не на С++, хотя хорошо знаю оба этих языка. Приходится
писать на Delphi, потому, что для конечного пользователя важно не
быстродействие, а удобство. А ассемблер стал чем-то вроде хобби. Я пишу на
нем небольшие програмки для себя и люблю с его помощью работать с железом
напрямую. Еще пишу на нем ядро ОС, но пока это еще не завершено.


Ответ отправлен: 13.05.2003, 07:53
Отправитель: ASMодей


Отвечает Tigran K. Kalaidjian

Добрый день, Karkalka!
Я программирую на ассемблере, чтобы:
1. иметь больше возможностей управления системой
2. обмен данными с внешним(иногда даже самопальным)оборудованием
3. вирусописание

Ответ отправлен: 16.05.2003, 07:59
Отправитель: Tigran K. Kalaidjian


Отвечает Maverick

Приветствую Вас, Karkalka!
Насчет NT ищи на вирных сайтах.
Я изучаю асм, потому что мне он нравится :)
Да ты почитай архив рассылки, и по ответам все ясно кто чем занимается...


Ответ отправлен: 13.05.2003, 07:02
Отправитель: Maverick


Отвечает GL

Доброе время суток, Karkalka!
По первой половине скажу, что я не являюсь профессиональным программистом (т.е. моя работа не связана с программированием), а моё программирование можно скорее назвать прикладным.
По второй - недавно попалась программка, называется Callgate и авторы там пишут что она служит для "Run any Ring 0 code from a WIN32 application on Windows NT". К этой проге идут и её исходники.
Ищи её здесь: ftp://ftp.elf.stuba.sk/pub/pc/utilprog/callgate.zip

Ответ отправлен: 12.05.2003, 15:42
Отправитель: GL


Отвечает Lynx

Приветствую Вас, Karkalka!
Я начал изучать асм для криптографии. Имхо, асм - единственный язык, который способен обеспечить приемлемую скорость шифрования/расшифрования при малом объёме программ. Я тогда хотел только писать на асме только процедуры шифрования. После того, как я написал свою первую программу, то я больше не смог программировать на других языках. Мне они показались какими то детскими. Что это за язык, где данные в памяти располагает не программист??? С тех самых пор и стараюсь писать только на нём. И весь загон типа "Асм - это круто, но это гемор" - фигня. Если хорошо всему научиться, то программы на нём пишутся не сложнее чем на каком нить Паскале.


Ответ отправлен: 12.05.2003, 16:55
Отправитель: Lynx


Отвечает St

Привет, Karkalka!
Так уж сложилось что мои программы в ОСНОВНОМ связаны с текстами - редакторы, просмотрщики, мессенждеры, букридер. В начале под ДОС, позже Win16, ныне практически только Win32.
St

Ответ отправлен: 12.05.2003, 17:17
Отправитель: St


Отвечает baldr

Приветствую Вас, Karkalka!
АСМ - это хобби. Работаю я в области тестирования мобильных телефонов...

Ответ отправлен: 12.05.2003, 19:04
Отправитель: baldr


Отвечает Bob Johnson

Доброе время суток, Karkalka!
Асм я начал изучать на спектруме. Там просто не было альтернативы - написать хорошую программу можно было только на нем. Потом заинтересовался асмом на x86. Вот так и пошло.
Сейчас реально асм использую только для написания кусков кода, которые должны быстро работать или которые написать практически невозможно на чем-либо другом (например, когда надо код патчить, функции и т.д.).


Ответ отправлен: 12.05.2003, 20:21
Отправитель: Bob Johnson



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (40)
C / C++ (30)
Perl (4)
Builder / Delphi (16)
Pascal (31)
Basic / VBA (12)
Java / JavaScript (11)
PHP (5)
MySQL / MSSQL (4)
Пользователю
Windows 95/98/Me (41)
Windows NT/2000/XP (30)
"Железо" (29)
Поиск информации (14)
Администратору
Windows NT/2000/XP (19)
Linux / Unix (9)
Юристу
Гражданское право (7)
Семейное право (4)
Трудовое право (5)
КоАП (4)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2003 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное