Вопрос № 55336: Доброго времени суток уважаемые эксперты.
Как создать какой-нибудь контрол чтобы там отображать текст, и не путаться с другим. Поясняю:
Контрол для отображения текста из файла, другое это там кнопки добавит что-то, закрасить.
Заранее благ...Вопрос № 55337: Здравствуйте уважаемые эксперты.
Подскажите самую низкую(что бы не на кого не ссылалась, и ни кого больше не использовала) API функцию вывода текста. Чтобы было побыстрее.
Заранее благодарю, уважаемые эксперты.
...Вопрос № 55339: Здравствуйте уважаемые эксперты.
Вот API функции в GDI на каком языке написаны на асме или на С++.
Спасибо.
...Вопрос № 55340: Здравствуйте уважаемые эксперты.
Что быстрее выполняется сложение или вычитание, и как вообще проверить скорость выполнения инструкции.
Спасибо.
...Вопрос № 55341: Доброго времени суток уважаемые эксперты.
Как сделать резидентную программу в вин32. И вообще можно ли это делать, если да то что она будет перехватывать.
Спасибо.
...Вопрос № 55363: Здравствуйте ЭКСПЕРТЫ!
Попробовал написать программу, кот. должна выводить аргументы командной строки в окне MessageBox, или текст "Отсутствуют", если аргументов нет.
Результат:
1) При запуске с аргументами - аргументы выводятся...Вопрос № 55385: Здравствуйте, уважаемые Эксперты.
Подскажите пожалуйста:
1) в какой dll находится Internet Explorer (элемент управления) и как его использовать?
Если возможно спримерами или ссылками на исходники на ассемблере, си (WinApi).
2) Кусо...Вопрос № 55436: Доброго времени суток уважаемые эксперты.
Читал недавно ГУКа «Аппаратные средства IBM PC», так вот там сказано, что 2D(3D)акселератор, это графический сопроцессор расположенный на самой видеокарте. Я подумал, что там может есть тоже свои собствен...
Вопрос № 55.336
Доброго времени суток уважаемые эксперты.
Как создать какой-нибудь контрол чтобы там отображать текст, и не путаться с другим. Поясняю:
Контрол для отображения текста из файла, другое это там кнопки добавит что-то, закрасить.
Заранее благодарю, уважаемые эксперты.
Отправлен: 13.09.2006, 20:06
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: n0name
Здравствуйте, ENS!
Контролы создаются через CreateWindow, класс указываешь тот который тебе нужен. список есть в MSDN.
Для кнопкаи например класс "BUTTON".
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 13.09.2006, 21:37
Вопрос № 55.337
Здравствуйте уважаемые эксперты.
Подскажите самую низкую(что бы не на кого не ссылалась, и ни кого больше не использовала) API функцию вывода текста. Чтобы было побыстрее.
Заранее благодарю, уважаемые эксперты.
Отправлен: 13.09.2006, 20:07
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, ENS!
DrawText => DrawTextEx => ExtTextOut => NtGdiExtTextOut
Значит тебе нужна недокументированная функция NtGdiExtTextOut.
Но тк ExtTextOut всего оболочка к вызову NtGdiExtTextOut, то можешь смело использовать ExtTextOut. Тем более что вызов NtGdiExtTextOut хотя и возможен, но проблематичен.
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 13.09.2006, 21:49
Вопрос № 55.339
Здравствуйте уважаемые эксперты.
Вот API функции в GDI на каком языке написаны на асме или на С++.
Спасибо.
Отправлен: 13.09.2006, 20:08
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, ENS!
Ответить на это могут только программисты MS, однако глядя на дизасм листинг склоняюсь к С++.
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 13.09.2006, 21:50
Вопрос № 55.340
Здравствуйте уважаемые эксперты.
Что быстрее выполняется сложение или вычитание, и как вообще проверить скорость выполнения инструкции.
Спасибо.
Отправлен: 13.09.2006, 20:08
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, ENS!
Есть специальные таблицы с количеством тактов на операцию. Однако точно сказать как долго будет выполнятся инструкция сложно. Так как это время зависит от многих факторов.
А сложение и вычитание выполняются одинаковое количество тактов.
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 13.09.2006, 21:55
Отвечает: mix_mix
Здравствуйте, ENS!
Здесь, даже не глядя на таблицы, можно сказать, что выполняться будет одинаково по времени, потому, что вычитать процессор не умеет, он только складывет:
sub eax, 0ABh
эквивалентно
add eax, 0FFFFFF55h
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 14.09.2006, 21:01
Вопрос № 55.341
Доброго времени суток уважаемые эксперты.
Как сделать резидентную программу в вин32. И вообще можно ли это делать, если да то что она будет перехватывать.
Спасибо.
Отправлен: 13.09.2006, 20:09
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: mix_mix
Здравствуйте, ENS!
Т.к. вин32 работает в protected mode, все программы работают по-разному.
Все простые приложения в RING3, а драйвера и ядро системы в RING0 (нулевой уровень защиты).
В ринг3 можно перехватывать все функции виндовс, которые она предоставляет всем программам, правда сделать это можно очень извращенным способом, еще в ринг3 можно перехватывать нажатия клавиш клавиатуры, движения мыши etc., но этот метод очень не совершеннен.
Выйдя в ринг0 (путем написания драйвера и последующей загрузки его в систему, или путем использования некомпетентности Microsoft, то есть использования различных "дыр" в безопасности системы) можно очень легко перехватывать функции KiSystemService, ядерные функции, обрабатывать прерывания etc. Это наилучший способ, но он достаточно сложный, так что рекомендую начать в заданной последовательности:
http://www.wasm.ru/article.php?article=1001024
http://www.wasm.ru/article.php?article=apihook_1
http://www.wasm.ru/article.php?article=apihook_2
http://www.wasm.ru/article.php?article=apihook_3
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 14.09.2006, 21:15
Вопрос № 55.363
Здравствуйте ЭКСПЕРТЫ!
Попробовал написать программу, кот. должна выводить аргументы командной строки в окне MessageBox, или текст "Отсутствуют", если аргументов нет.
Результат:
1) При запуске с аргументами - аргументы выводятся.
2) При запуске без аргументов появляется MessageBox, но без текста "Отсутствуют".
При запуске под отладчиком (Olly) - текст выводится.
Вопрос. В чем дело?
Заранее спасибо.
Приложение:
Отправлен: 13.09.2006, 22:36
Вопрос задал: Юpий (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Юpий!
Некорректно построен поиск параметров.
1) Рассматривается только случай, когда имя программы заключено в кавычки.
Это неверно, если имена папок не содержит пробелов, то путь будет без кавычек.
2) Неверное предположение о том, что если нет параметров, то конечный нуль будет сразу за именем программы, перед нулем может быть пробел.
Что, кстати у тебя и наблюдается: твой отладчик формирует команду запуска без пробела - и ты попадаешь на метку "no", запускаешь саму по себе, ОСь вставляет пробел - попадаешь на "get", а там нуль, т.е. пустая строка!
Вставь следующий анализ, и заработает (случай с кавычками).
get:
add eax,2
cmp byte ptr [eax],0 ;!!!!!!
je no ;!!!!!!
push 0 ; Выводим
Для полноты картины надо еще добавить анализ случая без кавычек...
Удачи!
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Практикант)
Ответ отправлен: 14.09.2006, 19:13 Оценка за ответ: 5
Вопрос № 55.385
Здравствуйте, уважаемые Эксперты.
Подскажите пожалуйста:
1) в какой dll находится Internet Explorer (элемент управления) и как его использовать?
Если возможно спримерами или ссылками на исходники на ассемблере, си (WinApi).
2) Кусок кода из книги "Network Programming for Microsoft Windows":
Index = WSAWaitForMultipleEvents(EventTotal,EventArray, FALSE, WSA_INFINITE, FALSE);
WSAEnumNetworkEvents(SocketArray[Index - WSA_WAIT_EVENT_0],
EventArray[Index - WSA_WAIT_EVENT_0],&NetworkEvents);
При компиляции в MASM строки:
(1) mov eax,Index
(2) sub eax,WSA_WAIT_EVENT_0
выдаёт ошибку:
(2) : error A2206: missing operator in expression
В WINDOWS.INC написано:
WSA_WAIT_EVENT_0 equ ((DWORD)0)
Как это исправить и что значит ((DWORD)0)?
3) как узнать сколько и какие параметры принимает функция из dll (в наличии только сама dll)
и как её использовать в своей программе.
С уважением MrGreen.
Отправлен: 14.09.2006, 06:19
Вопрос задал: MrGreen (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, MrGreen!
2) WSA_WAIT_EVENT_0 equ 0
3) Только с помощью анализа дизассемблерного листинга.
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 14.09.2006, 11:51
Вопрос № 55.436
Доброго времени суток уважаемые эксперты.
Читал недавно ГУКа «Аппаратные средства IBM PC», так вот там сказано, что 2D(3D)акселератор, это графический сопроцессор расположенный на самой видеокарте. Я подумал, что там может есть тоже свои собственные инструкции(по аналогии с FPU). Так если это так где можно прочитать о них поподробнее.
Спасибо.
Отправлен: 14.09.2006, 14:21
Вопрос задал: ENS (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: n0name
Здравствуйте, ENS!
Своих инструкций нет, кроме того работа с акселератором не стандартихирована, и код написанный для одного может не работать для другого. Если всё таки хочешь изучить материал, то посмотри на сайтах Ati/amd, nvidia, intel.
Например:
http://developer.nvidia.com
Ответ отправил: n0name (статус: 4-ый класс)
Ответ отправлен: 14.09.2006, 14:43
Отвечает: Mihasic
Здравствуйте, ENS!
На сколько я знаю, эти инструкции не стандартизированны, да и программировать под тот контроллер означает - создавать собственную версию прошивки для видеоадаптера. По этому документации не видел. А вот чтобы писать эффективный код взаимодействия с видеоадаптером, необходимо обратится к разработчикам данного устройства. Но это нужно лишь при разработке собственного драйвера, когда требуется обращаться напрямую к аппаратуре. В большинтсве случаев в этом нет необходимости. А если таки есть - к разработчикам устройства.
Ответ отправил: Mihasic (статус: 7-ой класс)
Ответ отправлен: 14.09.2006, 15:01