<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120168</guid>
        <pubDate>Fri, 12 Apr 2002 19:43:58 +0000</pubDate>
        <title>Как осуществить ?.?.?.?.?.?.?.?</title>
        <link>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120168</link>
        <description><![CDATA[rivitna: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если можно, то поподробнее про хук на вызов АПИшных функций (принцип:что ,куда,зачем...) </div></div><br><br>Все же лучше, если ты обратишься к классикам (Рихтеру и Питреку), это довольно тонкий момент, чтобы в форуме в двух словах объяснять.<br>Примеры на C и кое-какую информацию вышлю на почту.<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Если не сложно вышли пример на ASM  WH_KEYBOARD или WH_KEYBOARD_LL на aserpent@yandex.ru </div></div><br><br>То же самое: вышлю на почту. Но только заготовку на АСМе, лишнее удалю. Ссылки примеров на C:<br>http://www.sources.ru/cpp/cpp_lock_mouse_and_keyboard.shtml<br>http://www.sources.ru/cpp/tips/system_wide_hook.shtml<br>http://www.sources.ru/cpp/cpp_pwdspy.shtml<br>http://support.microsoft.com/support/kb/articles/Q81/3/34.ASP<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Вопросы: <br> Функция  SystemParametersInfo у нее много параметров а значения у них какие ? Например  <br>SPI_SETSCREENSAVERRUNNING  equ            ?<br>SPI_SETMOUSEBUTTIONSWAP    equ           ?<br></div></div><br><br>SPI_SETSCREENSAVERRUNNING  EQU  97<br>Если нужно еще какие значение, я уточню, просто VC 6.0 у меня на работе и я отвечаю по памяти...<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>И где вообще брать значения параметров (которых в WIN.inc и т.д. нет)  ?</div></div><br><br>Смотри в заголовочных файлах MS VC++ и добавляй по мере необходимости в твой личный win32.ini (свой я тебе вышлю с примером хука)<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как узнать какие функции использует ShellAboutA ? </div></div><br><br>С помощью утилитки eXeScope посмотри какие функции импортируются в shell32.dll особенно из kernel32.dll и user32.dll. Короче, прояви смекалку...]]></description>
        <author>rivitna</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120167</guid>
        <pubDate>Thu, 11 Apr 2002 16:58:44 +0000</pubDate>
        <title>Как осуществить ?.?.?.?.?.?.?.?</title>
        <link>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120167</link>
        <description><![CDATA[Serpent: Спасибо !!!<br>Это прога должна быть именно на ASMе (обязательное условие - не я придумал) !!!!!!<br> Если можно, то поподробнее про хук на вызов АПИшных функций (принцип:что ,куда,зачем...)<br><br><br>Если не сложно вышли пример на ASM &nbsp;WH_KEYBOARD или WH_KEYBOARD_LL на aserpent@yandex.ru<br><br>Вопросы:<br> Функция &nbsp;SystemParametersInfo у нее много параметров а значения у них какие ? Например <br>SPI_SETSCREENSAVERRUNNING &nbsp;equ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ???<br>SPI_SETMOUSEBUTTIONSWAP &nbsp; &nbsp;equ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ???<br>. . . . . . . .<br>. . . . . . . .<br>. . . . . . . .<br><br>И где вообще брать значения параметров (которых в WIN.inc и т.д. нет) &nbsp;??<br> <br><br>Как узнать какие функции использует ShellAboutA ?<br><br><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Serpent<br><br><br><br><br><br><br> <br>]]></description>
        <author>Serpent</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120166</guid>
        <pubDate>Tue, 09 Apr 2002 17:32:59 +0000</pubDate>
        <title>Как осуществить ?.?.?.?.?.?.?.?</title>
        <link>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120166</link>
        <description><![CDATA[rivitna: На самом деле вопрос больше подходит для форума C/C++, это их хлеб :)<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Мне нужно написать программу на TASM которая должна запретить копирование определённого файла и вообще копирование.(под WIN). </div></div><br><br>На мой взгляд лучше написать хук на вызов АПИшных функци, рекомендую обратиться к тов. Рихтеру, есть его пример установки хука. На АСМе это сделать будет очень муторно :(<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как отслеживать и перехватывать нажатие на клавиши...</div></div><br>Пишешь хук на WH_KEYBOARD или WH_KEYBOARD_LL (для NT/2000). На АСМе это сделать просто. Я, например, все больше склоняюсь к тому, чтобы писать простенькие dll-ки с процедурами хуков на АСМе, в итоге код порядка 4Кб вместо 40Кб (на VC), а трудозатраты не намного больше. При желании могу привести пример.<br>Насчет хуков лучше почитай MSDN или соответствующую литературу, а также посмотри примеры...<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>что бы прогу нельзя было убить (Ctrl+Alt+Del)...</div></div><br><br>Для <strong class='tag-b'>Win9x</strong> (На C):<br>UINT &nbsp;uiPrevState;<br><br>Запрет комбинаций Ctrl+Alt+Del, Alt+Tab и т.д.<br>SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &amp;uiPrevState, 0);<br><br>Разрешение комбинаций Ctrl+Alt+Del, Alt+Tab и т.д.<br>SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, FALSE, &amp;uiPrevState, 0);<br><br>Для <strong class='tag-b'>WinNT</strong> (На C):<br>Хук на WH_KEYBOARD_LL (есть пример в MSDN). Только в этом случае Ctrl+Alt+Del не блокируется, но при блокировке клавиатуры и мыши (см. ниже) пользователь кроме перезагрузки ничего не сможет сделать...<br><br>Кроме того придется писать еще два хука на WH_KEYBOARD и WH_MOUSE для блокировки клавиатуры и мыши...<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Через GlobalMemotyStatus я снял информацию о памяти (проверил через td32), данные хранятся в структуре MemoryStatus как вывести отдельные значения из нее и все значения</div></div><br><br>Честно говоря, не понятно в чем проблема? Используй функцию API wsprintf... А дальше выводи текстовые строки...<br><br><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Можно ли вырезать информацию (имя компа,кол-во памяти т.д.)вызываемую функцией ShellAboutA и если можно то как? &nbsp;Эта функция выводит на экран информацию (имя компа,кол-во памяти,и т.д) разбить эту инфу на блоки и по отдельности вывести на экран:имя,память и т.д. &nbsp;(наприм через MessageBox) ?</div></div><br><br>Используй отдельно соответствующие функции API, которые использованы в ShellAboutA<br>]]></description>
        <author>rivitna</author>
        <category>Assembler</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120165</guid>
        <pubDate>Sat, 06 Apr 2002 17:49:58 +0000</pubDate>
        <title>Как осуществить ?.?.?.?.?.?.?.?</title>
        <link>https://forum.sources.ru/index.php?showtopic=14148&amp;view=findpost&amp;p=120165</link>
        <description><![CDATA[Serpent: Огромнейшее спасибо rivitna за подробный предыдущий ответ.<br><br>Мне нужно написать программу на TASM которая должна запретить копирование определённого файла и вообще копирование.(под WIN).<br><br>Как отслеживать и перехватывать нажатие на клавиши,<br>перехватывать функцию копирования и что бы прогу нельзя было убить (Ctrl+Alt+Del) - прочитал, что это делается вроде с помощью HOOKов если можно, то поподробнее.  Можно ли сделать неактивным пункт копирование в всплывающем меню которое появляется при нажатии на левую кнопку мыши.<br><br>Подскажите хоть чего нибудь.  <br>                                            <br><br>Через GlobalMemotyStatus я снял информацию о памяти (проверил через td32), данные хранятся в структуре MemoryStatus как вывести отдельные значения из нее и все значения.<br><br><br>                                                                Алексей.<br><br><br>P.S.<br><br>Rivitna:     С предыдущего вопроса :(я плохо сформулировал )<br><br>Можно ли вырезать информацию (имя компа,кол-во памяти т.д.)вызываемую функцией ShellAboutA и если можно то как?  Эта функция выводит на экран информацию (имя компа,кол-во памяти,и т.д) разбить эту инфу на блоки и по отдельности вывести на экран:имя,память и т.д.  (наприм через MessageBox) ?<br>                                                                                     <br>                                                                                    Алексей<br><br>]]></description>
        <author>Serpent</author>
        <category>Assembler</category>
      </item>
	
      </channel>
      </rss>
	