Процессы, потоки, память, задачи Delphi — среда быстрой разработки, где в качестве языка программирования используется Object Pascal. На сегодняшний день позволяет разрабатывать ПО для Microsoft Windows, Mac OS, iOS и Android и входит в состав Embarcadero RAD Studio https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi.feed 2022-09-13T04:40:09+07:00 Delphi help info@delphi-hlp.ru Joomla! - Open Source Content Management Address Windowing Extention, AWE 2017-10-24T20:03:47+07:00 2017-10-24T20:03:47+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/address-windowing-extention-awe.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;">Этот раздел описывает расширение адресной оболочки Windows (Address Windowing Extention, AWE). Это расширение Windows 2000 предоставляет возможность пользовательским приложениям адресовать более чем 32 бита адресного пространства.</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows NT и Windows 2000 предоставляют своим приложениям сплошное 32-х битовое адресное пространство, которое описывает 4 Гб виртуальной памяти. Это адресное пространство обычно разбито таким образом, что только 2 Гб непосредственно доступны для нужд приложения. Другие 2 Гб доступны только закрытому коду, принадлежащему операционной системе. Добавим, что начиная с Windows NT 4 SP 3 и Windows NT Server Enterprise Edition/Windows 2000 Advanced Server на базе процессора x86 на нужды приложения выделяется 3 Гб, а закрытому коду - 1 Гб.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/address-windowing-extention-awe.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> <span style="color: #000000;">Этот раздел описывает расширение адресной оболочки Windows (Address Windowing Extention, AWE). Это расширение Windows 2000 предоставляет возможность пользовательским приложениям адресовать более чем 32 бита адресного пространства.</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows NT и Windows 2000 предоставляют своим приложениям сплошное 32-х битовое адресное пространство, которое описывает 4 Гб виртуальной памяти. Это адресное пространство обычно разбито таким образом, что только 2 Гб непосредственно доступны для нужд приложения. Другие 2 Гб доступны только закрытому коду, принадлежащему операционной системе. Добавим, что начиная с Windows NT 4 SP 3 и Windows NT Server Enterprise Edition/Windows 2000 Advanced Server на базе процессора x86 на нужды приложения выделяется 3 Гб, а закрытому коду - 1 Гб.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/address-windowing-extention-awe.html">Подробнее...</a></p> Использование native kernel32 функций для получения проекции физической памяти 2017-11-01T19:00:27+07:00 2017-11-01T19:00:27+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/ispolzovanie-native-kernel32-funktsij-dlya-polucheniya-proektsii-fizicheskoj-pamyati.html Super User toto44@inbox.ru <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">В</span> <span style="color: #000000;">процессе</span> <span style="color: #000000;">написания</span> <span style="color: #000000;">программного</span> <span style="color: #000000;">обеспечения</span> <span style="color: #000000;">в</span> <span style="color: #000000;">ряде</span> <span style="color: #000000;">случаев</span> <span style="color: #000000;">возникает</span> <span style="color: #000000;">необходимость</span> <span style="color: #000000;">получения</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">из</span> <span style="color: #000000;">физических</span> <span style="color: #000000;">ячеек</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Документации</span><span style="color: #000000;"> Delphi </span><span style="color: #000000;">по</span> <span style="color: #000000;">данному</span> <span style="color: #000000;">вопросу</span><span style="color: #000000;">, </span><span style="color: #000000;">я</span> <span style="color: #000000;">найти</span> <span style="color: #000000;">не</span> <span style="color: #000000;">смог</span><span style="color: #000000;">, </span><span style="color: #000000;">поэтому</span> <span style="color: #000000;">хочу</span> <span style="color: #000000;">восполнить</span> <span style="color: #000000;">данный</span> <span style="color: #000000;">пробел</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Платформа</span><span style="color: #000000;"> WinNT(XP) </span><span style="color: #000000;">не</span> <span style="color: #000000;">допускает</span> <span style="color: #000000;">возможность</span> <span style="color: #000000;">непосредственного</span> <span style="color: #000000;">доступа</span> <span style="color: #000000;">к</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">средствами</span><span style="color: #000000;"> Win32API. </span><span style="color: #000000;">В</span> <span style="color: #000000;">этом</span> <span style="color: #000000;">случае</span> <span style="color: #000000;">программист</span> <span style="color: #000000;">должен</span> <span style="color: #000000;">или</span> <span style="color: #000000;">написать</span> <span style="color: #000000;">свой</span> <span style="color: #000000;">драйвер</span> <span style="color: #000000;">доступа</span> <span style="color: #000000;">к</span> <span style="color: #000000;">физической</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">или</span> <span style="color: #000000;">использовать</span><span style="color: #000000;"> native kernel32 </span><span style="color: #000000;">функции</span> <span style="color: #000000;">ядра</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Рассмотрим</span> <span style="color: #000000;">второй</span> <span style="color: #000000;">вариант</span> <span style="color: #000000;">использующий</span> <span style="color: #000000;">объект</span><span style="color: #000000;"> "</span><span style="color: #000000;">проекция</span> <span style="color: #000000;">файла</span><span style="color: #000000;">" (file-mapping object), </span><span style="color: #000000;">представляющем</span> <span style="color: #000000;">собой</span> <span style="color: #000000;">блок</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">(</span><span style="color: #000000;">раздел</span><span style="color: #000000;">) </span><span style="color: #000000;">доступный</span> <span style="color: #000000;">двум</span> <span style="color: #000000;">и</span> <span style="color: #000000;">более</span> <span style="color: #000000;">процессам</span> <span style="color: #000000;">для</span> <span style="color: #000000;">совместного</span> <span style="color: #000000;">использования</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Совместное</span> <span style="color: #000000;">использование</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">объекта</span><span style="color: #000000;"> "</span><span style="color: #000000;">раздел</span><span style="color: #000000;">" </span><span style="color: #000000;">происходит</span> <span style="color: #000000;">следующим</span> <span style="color: #000000;">образом</span><span style="color: #000000;">: </span><span style="color: #000000;">Задав</span> <span style="color: #000000;">атрибуты</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">функции</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/ispolzovanie-native-kernel32-funktsij-dlya-polucheniya-proektsii-fizicheskoj-pamyati.html">Подробнее...</a></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">В</span> <span style="color: #000000;">процессе</span> <span style="color: #000000;">написания</span> <span style="color: #000000;">программного</span> <span style="color: #000000;">обеспечения</span> <span style="color: #000000;">в</span> <span style="color: #000000;">ряде</span> <span style="color: #000000;">случаев</span> <span style="color: #000000;">возникает</span> <span style="color: #000000;">необходимость</span> <span style="color: #000000;">получения</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">из</span> <span style="color: #000000;">физических</span> <span style="color: #000000;">ячеек</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Документации</span><span style="color: #000000;"> Delphi </span><span style="color: #000000;">по</span> <span style="color: #000000;">данному</span> <span style="color: #000000;">вопросу</span><span style="color: #000000;">, </span><span style="color: #000000;">я</span> <span style="color: #000000;">найти</span> <span style="color: #000000;">не</span> <span style="color: #000000;">смог</span><span style="color: #000000;">, </span><span style="color: #000000;">поэтому</span> <span style="color: #000000;">хочу</span> <span style="color: #000000;">восполнить</span> <span style="color: #000000;">данный</span> <span style="color: #000000;">пробел</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Платформа</span><span style="color: #000000;"> WinNT(XP) </span><span style="color: #000000;">не</span> <span style="color: #000000;">допускает</span> <span style="color: #000000;">возможность</span> <span style="color: #000000;">непосредственного</span> <span style="color: #000000;">доступа</span> <span style="color: #000000;">к</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">средствами</span><span style="color: #000000;"> Win32API. </span><span style="color: #000000;">В</span> <span style="color: #000000;">этом</span> <span style="color: #000000;">случае</span> <span style="color: #000000;">программист</span> <span style="color: #000000;">должен</span> <span style="color: #000000;">или</span> <span style="color: #000000;">написать</span> <span style="color: #000000;">свой</span> <span style="color: #000000;">драйвер</span> <span style="color: #000000;">доступа</span> <span style="color: #000000;">к</span> <span style="color: #000000;">физической</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">или</span> <span style="color: #000000;">использовать</span><span style="color: #000000;"> native kernel32 </span><span style="color: #000000;">функции</span> <span style="color: #000000;">ядра</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Рассмотрим</span> <span style="color: #000000;">второй</span> <span style="color: #000000;">вариант</span> <span style="color: #000000;">использующий</span> <span style="color: #000000;">объект</span><span style="color: #000000;"> "</span><span style="color: #000000;">проекция</span> <span style="color: #000000;">файла</span><span style="color: #000000;">" (file-mapping object), </span><span style="color: #000000;">представляющем</span> <span style="color: #000000;">собой</span> <span style="color: #000000;">блок</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">(</span><span style="color: #000000;">раздел</span><span style="color: #000000;">) </span><span style="color: #000000;">доступный</span> <span style="color: #000000;">двум</span> <span style="color: #000000;">и</span> <span style="color: #000000;">более</span> <span style="color: #000000;">процессам</span> <span style="color: #000000;">для</span> <span style="color: #000000;">совместного</span> <span style="color: #000000;">использования</span><span style="color: #000000;">.</span></span></p> <p style="margin: 7px 0px;"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Совместное</span> <span style="color: #000000;">использование</span> <span style="color: #000000;">данных</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">объекта</span><span style="color: #000000;"> "</span><span style="color: #000000;">раздел</span><span style="color: #000000;">" </span><span style="color: #000000;">происходит</span> <span style="color: #000000;">следующим</span> <span style="color: #000000;">образом</span><span style="color: #000000;">: </span><span style="color: #000000;">Задав</span> <span style="color: #000000;">атрибуты</span> <span style="color: #000000;">с</span> <span style="color: #000000;">помощью</span> <span style="color: #000000;">функции</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/ispolzovanie-native-kernel32-funktsij-dlya-polucheniya-proektsii-fizicheskoj-pamyati.html">Подробнее...</a></p> Как мониторить за памятью 2017-11-01T18:56:04+07:00 2017-11-01T18:56:04+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-monitorit-za-pamyatyu.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Сегодня</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">попытаемся</span> <span style="color: #000000;">написать</span> <span style="color: #000000;">программу</span><span style="color: #000000;">, </span><span style="color: #000000;">которая</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">показывать</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">компа</span><span style="color: #000000;">. </span><span style="color: #000000;">Для</span> <span style="color: #000000;">начала</span> <span style="color: #000000;">определим</span> <span style="color: #000000;">что</span> <span style="color: #000000;">она</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">делать</span><span style="color: #000000;">. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">самое</span> <span style="color: #000000;">главное</span> <span style="color: #000000;">что</span> <span style="color: #000000;">нам</span> <span style="color: #000000;">нужно</span><span style="color: #000000;">, </span><span style="color: #000000;">это</span> <span style="color: #000000;">сотояние</span> <span style="color: #000000;">физической</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">и</span> <span style="color: #000000;">загруженность</span> <span style="color: #000000;">ее</span> <span style="color: #000000;">в</span><span style="color: #000000;"> %. </span><span style="color: #000000;">А</span> <span style="color: #000000;">дальше</span><span style="color: #000000;">, </span><span style="color: #000000;">по</span> <span style="color: #000000;">своему</span> <span style="color: #000000;">вкусу</span><span style="color: #000000;">, </span><span style="color: #000000;">добавим</span> <span style="color: #000000;">еще</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">виртуальной</span> <span style="color: #000000;">и</span> <span style="color: #000000;">страничной</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Начнем</span><span style="color: #000000;">. </span><span style="color: #000000;">Создай</span> <span style="color: #000000;">новый</span> <span style="color: #000000;">проект</span> <span style="color: #000000;">на</span> <span style="color: #000000;">Делфи</span><span style="color: #000000;"> ( File-&gt;New-&gt;Application). </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">подумай</span><span style="color: #000000;">, </span><span style="color: #000000;">как</span> <span style="color: #000000;">тебе</span> <span style="color: #000000;">удобней</span> <span style="color: #000000;">отображать</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Для</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">лучше</span> <span style="color: #000000;">в</span><span style="color: #000000;"> Label, </span><span style="color: #000000;">но</span> <span style="color: #000000;">можно</span> <span style="color: #000000;">и</span><span style="color: #000000;"> Edit. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">это</span> <span style="color: #000000;">на</span> <span style="color: #000000;">твое</span> <span style="color: #000000;">усмотрение</span><span style="color: #000000;">. </span><span style="color: #000000;">Кидай</span> <span style="color: #000000;">на</span> <span style="color: #000000;">форму</span><span style="color: #000000;"> 7 </span><span style="color: #000000;">компонентов</span><span style="color: #000000;"> Label (</span><span style="color: #000000;">в</span> <span style="color: #000000;">них</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">отображаться</span> <span style="color: #000000;">значение</span><span style="color: #000000;">) </span><span style="color: #000000;">и</span> <span style="color: #000000;">еще</span><span style="color: #000000;"> 7 (</span><span style="color: #000000;">это</span> <span style="color: #000000;">будут</span> <span style="color: #000000;">пояснения</span><span style="color: #000000;">: </span><span style="color: #000000;">загруженность</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">физической</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">физической</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">страничной</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">страничной</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">виртуальной</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">виртуальной</span><span style="color: #000000;">). </span><span style="color: #000000;">Какие</span> <span style="color: #000000;">не</span> <span style="color: #000000;">нужны</span><span style="color: #000000;">, </span><span style="color: #000000;">те</span> <span style="color: #000000;">отбрось</span><span style="color: #000000;"> ;) . </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">кинь</span> <span style="color: #000000;">таймер</span><span style="color: #000000;"> (</span><span style="color: #000000;">из</span> <span style="color: #000000;">вкладки</span><span style="color: #000000;"> System). </span><span style="color: #000000;">Это</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">наш</span> <span style="color: #000000;">главный</span> <span style="color: #000000;">элемент</span><span style="color: #000000;">., </span><span style="color: #000000;">поэтому</span> <span style="color: #000000;">поставь</span> <span style="color: #000000;">интервал</span> <span style="color: #000000;">по</span> <span style="color: #000000;">своему</span> <span style="color: #000000;">усмотрению</span><span style="color: #000000;"> (</span><span style="color: #000000;">у</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">он</span><span style="color: #000000;"> 400). </span><span style="color: #000000;">Этот</span> <span style="color: #000000;">интервал</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">отвечать</span> <span style="color: #000000;">за</span> <span style="color: #000000;">частоту</span> <span style="color: #000000;">обновления</span> <span style="color: #000000;">полей</span><span style="color: #000000;">. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">и</span> <span style="color: #000000;">для</span> <span style="color: #000000;">красоты</span> <span style="color: #000000;">брось</span><span style="color: #000000;"> ProgressBar ( </span><span style="color: #000000;">из</span> <span style="color: #000000;">вкладки</span><span style="color: #000000;"> Win32). </span><span style="color: #000000;">У</span> <span style="color: #000000;">тебя</span> <span style="color: #000000;">должно</span> <span style="color: #000000;">получиться</span> <span style="color: #000000;">что</span><span style="color: #000000;">-</span><span style="color: #000000;">то</span> <span style="color: #000000;">типа</span> <span style="color: #000000;">этого</span><span style="color: #000000;">: </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">приступим</span> <span style="color: #000000;">непосредственно</span> <span style="color: #000000;">к</span> <span style="color: #000000;">кодингу</span><span style="color: #000000;">. </span><span style="color: #000000;">Весь</span> <span style="color: #000000;">код</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">будем</span> <span style="color: #000000;">писать</span> <span style="color: #000000;">в</span> <span style="color: #000000;">процедуру</span> <span style="color: #000000;">запуска</span> <span style="color: #000000;">таймера</span><span style="color: #000000;">. </span><span style="color: #000000;">А</span> <span style="color: #000000;">вот</span> <span style="color: #000000;">и</span> <span style="color: #000000;">код</span><span style="color: #000000;">: </span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-monitorit-za-pamyatyu.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Сегодня</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">попытаемся</span> <span style="color: #000000;">написать</span> <span style="color: #000000;">программу</span><span style="color: #000000;">, </span><span style="color: #000000;">которая</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">показывать</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">компа</span><span style="color: #000000;">. </span><span style="color: #000000;">Для</span> <span style="color: #000000;">начала</span> <span style="color: #000000;">определим</span> <span style="color: #000000;">что</span> <span style="color: #000000;">она</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">делать</span><span style="color: #000000;">. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">самое</span> <span style="color: #000000;">главное</span> <span style="color: #000000;">что</span> <span style="color: #000000;">нам</span> <span style="color: #000000;">нужно</span><span style="color: #000000;">, </span><span style="color: #000000;">это</span> <span style="color: #000000;">сотояние</span> <span style="color: #000000;">физической</span> <span style="color: #000000;">памяти</span> <span style="color: #000000;">и</span> <span style="color: #000000;">загруженность</span> <span style="color: #000000;">ее</span> <span style="color: #000000;">в</span><span style="color: #000000;"> %. </span><span style="color: #000000;">А</span> <span style="color: #000000;">дальше</span><span style="color: #000000;">, </span><span style="color: #000000;">по</span> <span style="color: #000000;">своему</span> <span style="color: #000000;">вкусу</span><span style="color: #000000;">, </span><span style="color: #000000;">добавим</span> <span style="color: #000000;">еще</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">виртуальной</span> <span style="color: #000000;">и</span> <span style="color: #000000;">страничной</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Начнем</span><span style="color: #000000;">. </span><span style="color: #000000;">Создай</span> <span style="color: #000000;">новый</span> <span style="color: #000000;">проект</span> <span style="color: #000000;">на</span> <span style="color: #000000;">Делфи</span><span style="color: #000000;"> ( File-&gt;New-&gt;Application). </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">подумай</span><span style="color: #000000;">, </span><span style="color: #000000;">как</span> <span style="color: #000000;">тебе</span> <span style="color: #000000;">удобней</span> <span style="color: #000000;">отображать</span> <span style="color: #000000;">состояние</span> <span style="color: #000000;">памяти</span><span style="color: #000000;">. </span><span style="color: #000000;">Для</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">лучше</span> <span style="color: #000000;">в</span><span style="color: #000000;"> Label, </span><span style="color: #000000;">но</span> <span style="color: #000000;">можно</span> <span style="color: #000000;">и</span><span style="color: #000000;"> Edit. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">это</span> <span style="color: #000000;">на</span> <span style="color: #000000;">твое</span> <span style="color: #000000;">усмотрение</span><span style="color: #000000;">. </span><span style="color: #000000;">Кидай</span> <span style="color: #000000;">на</span> <span style="color: #000000;">форму</span><span style="color: #000000;"> 7 </span><span style="color: #000000;">компонентов</span><span style="color: #000000;"> Label (</span><span style="color: #000000;">в</span> <span style="color: #000000;">них</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">отображаться</span> <span style="color: #000000;">значение</span><span style="color: #000000;">) </span><span style="color: #000000;">и</span> <span style="color: #000000;">еще</span><span style="color: #000000;"> 7 (</span><span style="color: #000000;">это</span> <span style="color: #000000;">будут</span> <span style="color: #000000;">пояснения</span><span style="color: #000000;">: </span><span style="color: #000000;">загруженность</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">физической</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">физической</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">страничной</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">страничной</span><span style="color: #000000;">, </span><span style="color: #000000;">всего</span> <span style="color: #000000;">виртуальной</span><span style="color: #000000;">, </span><span style="color: #000000;">использовано</span> <span style="color: #000000;">виртуальной</span><span style="color: #000000;">). </span><span style="color: #000000;">Какие</span> <span style="color: #000000;">не</span> <span style="color: #000000;">нужны</span><span style="color: #000000;">, </span><span style="color: #000000;">те</span> <span style="color: #000000;">отбрось</span><span style="color: #000000;"> ;) . </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">кинь</span> <span style="color: #000000;">таймер</span><span style="color: #000000;"> (</span><span style="color: #000000;">из</span> <span style="color: #000000;">вкладки</span><span style="color: #000000;"> System). </span><span style="color: #000000;">Это</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">наш</span> <span style="color: #000000;">главный</span> <span style="color: #000000;">элемент</span><span style="color: #000000;">., </span><span style="color: #000000;">поэтому</span> <span style="color: #000000;">поставь</span> <span style="color: #000000;">интервал</span> <span style="color: #000000;">по</span> <span style="color: #000000;">своему</span> <span style="color: #000000;">усмотрению</span><span style="color: #000000;"> (</span><span style="color: #000000;">у</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">он</span><span style="color: #000000;"> 400). </span><span style="color: #000000;">Этот</span> <span style="color: #000000;">интервал</span> <span style="color: #000000;">будет</span> <span style="color: #000000;">отвечать</span> <span style="color: #000000;">за</span> <span style="color: #000000;">частоту</span> <span style="color: #000000;">обновления</span> <span style="color: #000000;">полей</span><span style="color: #000000;">. </span><span style="color: #000000;">Ну</span> <span style="color: #000000;">и</span> <span style="color: #000000;">для</span> <span style="color: #000000;">красоты</span> <span style="color: #000000;">брось</span><span style="color: #000000;"> ProgressBar ( </span><span style="color: #000000;">из</span> <span style="color: #000000;">вкладки</span><span style="color: #000000;"> Win32). </span><span style="color: #000000;">У</span> <span style="color: #000000;">тебя</span> <span style="color: #000000;">должно</span> <span style="color: #000000;">получиться</span> <span style="color: #000000;">что</span><span style="color: #000000;">-</span><span style="color: #000000;">то</span> <span style="color: #000000;">типа</span> <span style="color: #000000;">этого</span><span style="color: #000000;">: </span><span style="color: #000000;">Теперь</span> <span style="color: #000000;">приступим</span> <span style="color: #000000;">непосредственно</span> <span style="color: #000000;">к</span> <span style="color: #000000;">кодингу</span><span style="color: #000000;">. </span><span style="color: #000000;">Весь</span> <span style="color: #000000;">код</span> <span style="color: #000000;">мы</span> <span style="color: #000000;">будем</span> <span style="color: #000000;">писать</span> <span style="color: #000000;">в</span> <span style="color: #000000;">процедуру</span> <span style="color: #000000;">запуска</span> <span style="color: #000000;">таймера</span><span style="color: #000000;">. </span><span style="color: #000000;">А</span> <span style="color: #000000;">вот</span> <span style="color: #000000;">и</span> <span style="color: #000000;">код</span><span style="color: #000000;">: </span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-monitorit-za-pamyatyu.html">Подробнее...</a></p> Как определить сколько памяти выделено в дельфи для программы? 2017-11-01T18:53:55+07:00 2017-11-01T18:53:55+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-opredelit-skolko-pamyati-vydeleno-v-delfi-dlya-programmy.html Super User toto44@inbox.ru <p><span style="font-family: 'Courier New'; font-size: 8pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Для этого можно воспользоваться функцией </span><span style="font-weight: bold;">GetHeapStatus</span><span style="color: #000000;">:</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-opredelit-skolko-pamyati-vydeleno-v-delfi-dlya-programmy.html">Подробнее...</a></p> <p><span style="font-family: 'Courier New'; font-size: 8pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Для этого можно воспользоваться функцией </span><span style="font-weight: bold;">GetHeapStatus</span><span style="color: #000000;">:</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-opredelit-skolko-pamyati-vydeleno-v-delfi-dlya-programmy.html">Подробнее...</a></p> Как получить весь размер системной памяти? 2017-11-01T18:50:52+07:00 2017-11-01T18:50:52+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-poluchit-ves-razmer-sistemnoj-pamyati.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetMemoryTotalPhys : DWord; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">memStatus: TMemoryStatus; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">memStatus.dwLength := sizeOf ( memStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GlobalMemoryStatus ( memStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := memStatus.dwTotalPhys; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetMemoryTotalPhys : DWord; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">memStatus: TMemoryStatus; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">memStatus.dwLength := sizeOf ( memStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GlobalMemoryStatus ( memStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result := memStatus.dwTotalPhys; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как узнать состояние памяти? 2017-11-01T18:53:11+07:00 2017-11-01T18:53:11+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-uznat-sostoyanie-pamyati.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Status : TMemoryStatus; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Status.dwLength := sizeof( TMemoryStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalMemoryStatus( Status ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">... </span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-uznat-sostoyanie-pamyati.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Status : TMemoryStatus; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Status.dwLength := sizeof( TMemoryStatus ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GlobalMemoryStatus( Status ); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">... </span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/kak-uznat-sostoyanie-pamyati.html">Подробнее...</a></p> Сохранить строку в памяти?+пример работы с атомами 2017-11-01T18:48:03+07:00 2017-11-01T18:48:03+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/sokhranit-stroku-v-pamyati-primer-raboty-s-atomami.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Например через атомы:</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">К счастью количество атомов ограничено 0xFFFF, так что простые функции перебора работают достаточно быстро. Вот пример как сохранять и читать значение через атомы:</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/sokhranit-stroku-v-pamyati-primer-raboty-s-atomami.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Например через атомы:</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">К счастью количество атомов ограничено 0xFFFF, так что простые функции перебора работают достаточно быстро. Вот пример как сохранять и читать значение через атомы:</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/sokhranit-stroku-v-pamyati-primer-raboty-s-atomami.html">Подробнее...</a></p> Функции для работы с памятью 2017-11-01T18:46:18+07:00 2017-11-01T18:46:18+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/rabota-s-pamyatyu/funktsii-dlya-raboty-s-pamyatyu.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">Addr</span><span style="color: #000000;">                Возвращает указатель на объект. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">AllocMem</span><span style="color: #000000;">        Выделяет на куче блок памяти заданного размера, заполняет его нулями и возвращает указатель на начало блока. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">CompareMem</span><span style="color: #000000;">        Выполняет бинарное сравнение двух участков памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">GetHeapStatus</span><span style="color: #000000;"> Возвращает текущее состояние диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">GetMemoryManager</span><span style="color: #000000;"> Возвращает значения указателей полей текущего диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">IsMemoryManagerSet</span><span style="color: #000000;"> Определяет, используется в настоящий момент диспетчер памяти, установленный по умолчанию, или был установлен другой диспетчер. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">Ptr</span>                <span style="color: #000000;"> Возвращает указатель на адрес памяти, переданный в качестве аргумента. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SizeOf</span>                <span style="color: #000000;"> Возвращает размер памяти, занимаемый переменной. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SetMemoryManager</span><span style="color: #000000;"> Устанавливает значения полей диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SysFreeMem</span><span style="color: #000000;">        Высвобождает память, используемую динамической переменной. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SysGetMem</span>        <span style="color: #000000;"> Выделяет блок памяти заданного размера и возвращает указатель на него. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-size: 12pt;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-weight: bold;">SysReallocMem</span><span style="color: #000000; font-family: 'Times New Roman';"><span style="font-family: tahoma,arial,helvetica,sans-serif;"> Изменяет размер динамически распределенного блока памяти.</span> </span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">Addr</span><span style="color: #000000;">                Возвращает указатель на объект. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">AllocMem</span><span style="color: #000000;">        Выделяет на куче блок памяти заданного размера, заполняет его нулями и возвращает указатель на начало блока. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">CompareMem</span><span style="color: #000000;">        Выполняет бинарное сравнение двух участков памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">GetHeapStatus</span><span style="color: #000000;"> Возвращает текущее состояние диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">GetMemoryManager</span><span style="color: #000000;"> Возвращает значения указателей полей текущего диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">IsMemoryManagerSet</span><span style="color: #000000;"> Определяет, используется в настоящий момент диспетчер памяти, установленный по умолчанию, или был установлен другой диспетчер. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">Ptr</span>                <span style="color: #000000;"> Возвращает указатель на адрес памяти, переданный в качестве аргумента. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SizeOf</span>                <span style="color: #000000;"> Возвращает размер памяти, занимаемый переменной. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SetMemoryManager</span><span style="color: #000000;"> Устанавливает значения полей диспетчера памяти. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SysFreeMem</span><span style="color: #000000;">        Высвобождает память, используемую динамической переменной. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000; font-weight: bold;">SysGetMem</span>        <span style="color: #000000;"> Выделяет блок памяти заданного размера и возвращает указатель на него. </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-size: 12pt;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-weight: bold;">SysReallocMem</span><span style="color: #000000; font-family: 'Times New Roman';"><span style="font-family: tahoma,arial,helvetica,sans-serif;"> Изменяет размер динамически распределенного блока памяти.</span> </span></span></p> Атомы: Запись, чтение и удаление информации 2017-11-01T19:22:37+07:00 2017-11-01T19:22:37+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/atomy-zapis-chtenie-i-udalenie-informatsii.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{Act: 0 - Очистка атомов, 1 - чтение атомов, 2 - запись атомов}</span></p> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{Uniq - Уникальный идентификатор}</span></p> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{AtomNfo - Информация для записи}</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Function</span> AtomDo(Act:integer;Uniq,AtomNfo:<span style="color: #008000; font-weight: bold;">string</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Procedure</span> CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">var</span> P:PChar;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i:Word;</span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(p, <span style="color: #800000;">256</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">For</span> i:=<span style="color: #800000;">0</span> <span style="color: #008000; font-weight: bold;">to</span> <span style="color: #800000;">$FFFF</span> <span style="color: #008000; font-weight: bold;">do</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GlobalGetAtomName(i, p, <span style="color: #800000;">255</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">     <span style="color: #008000; font-weight: bold;">if</span> StrPos(p, PChar(Uniq))&lt;&gt;<span style="color: #008000; font-weight: bold;">nil</span> <span style="color: #008000; font-weight: bold;">then</span> GlobalDeleteAtom(i);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   FreeMem(p);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Function</span> ReadAtom:<span style="color: #008000; font-weight: bold;">string</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">var</span> P:PChar;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i:Word;</span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetMem(p, <span style="color: #800000;">256</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">For</span> i:=<span style="color: #800000;">0</span> <span style="color: #008000; font-weight: bold;">to</span> <span style="color: #800000;">$FFFF</span> <span style="color: #008000; font-weight: bold;">do</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GlobalGetAtomName(i, p, <span style="color: #800000;">255</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">if</span> StrPos(p, PChar(Uniq))&lt;&gt;<span style="color: #008000; font-weight: bold;">nil</span> <span style="color: #008000; font-weight: bold;">then</span> break;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      result:=StrPas(p+length(Uniq));</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      FreeMem(p);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">case</span> Act <span style="color: #008000; font-weight: bold;">of</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">0</span> : CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">1</span> : Result:=ReadAtom;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">2</span> : <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GlobalAddAtom(PChar(Uniq+AtomNfo));</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{Act: 0 - Очистка атомов, 1 - чтение атомов, 2 - запись атомов}</span></p> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{Uniq - Уникальный идентификатор}</span></p> <p><span style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-style: italic;">{AtomNfo - Информация для записи}</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Function</span> AtomDo(Act:integer;Uniq,AtomNfo:<span style="color: #008000; font-weight: bold;">string</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Procedure</span> CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">var</span> P:PChar;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i:Word;</span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(p, <span style="color: #800000;">256</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">For</span> i:=<span style="color: #800000;">0</span> <span style="color: #008000; font-weight: bold;">to</span> <span style="color: #800000;">$FFFF</span> <span style="color: #008000; font-weight: bold;">do</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GlobalGetAtomName(i, p, <span style="color: #800000;">255</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">     <span style="color: #008000; font-weight: bold;">if</span> StrPos(p, PChar(Uniq))&lt;&gt;<span style="color: #008000; font-weight: bold;">nil</span> <span style="color: #008000; font-weight: bold;">then</span> GlobalDeleteAtom(i);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   FreeMem(p);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">Function</span> ReadAtom:<span style="color: #008000; font-weight: bold;">string</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">var</span> P:PChar;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i:Word;</span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetMem(p, <span style="color: #800000;">256</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">For</span> i:=<span style="color: #800000;">0</span> <span style="color: #008000; font-weight: bold;">to</span> <span style="color: #800000;">$FFFF</span> <span style="color: #008000; font-weight: bold;">do</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GlobalGetAtomName(i, p, <span style="color: #800000;">255</span>);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    <span style="color: #008000; font-weight: bold;">if</span> StrPos(p, PChar(Uniq))&lt;&gt;<span style="color: #008000; font-weight: bold;">nil</span> <span style="color: #008000; font-weight: bold;">then</span> break;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      result:=StrPas(p+length(Uniq));</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      FreeMem(p);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">case</span> Act <span style="color: #008000; font-weight: bold;">of</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">0</span> : CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">1</span> : Result:=ReadAtom;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #800000;">2</span> : <span style="color: #008000; font-weight: bold;">begin</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      CleanAtoms;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GlobalAddAtom(PChar(Uniq+AtomNfo));</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      <span style="color: #008000; font-weight: bold;">end</span>;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #008000; font-weight: bold;">end</span>;</span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как определить насколько долго система находится в Idle? 2017-11-01T19:22:01+07:00 2017-11-01T19:22:01+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-opredelit-naskolko-dolgo-sistema-nakhoditsya-v-idle.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> LastInput: DWord;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LInput: TLastInputInfo;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LInput.cbSize := SizeOf(TLastInputInfo);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetLastInputInfo(LInput);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := GetTickCount - LInput.dwTime;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Example:</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Timer1Timer(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Label1.Caption := Format(</span><span class="f_CodeExample" style="color: #ff0000;">'System Idle since %d ms'</span><span class="f_CodeExample" style="color: #000000;">, [LastInput]);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// The GetLastInputInfo function retrieves the time</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// of the last input event.</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Minimum operating systems: Windows 2000</span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> LastInput: DWord;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LInput: TLastInputInfo;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> LInput.cbSize := SizeOf(TLastInputInfo);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetLastInputInfo(LInput);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := GetTickCount - LInput.dwTime;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">//Example:</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Timer1Timer(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Label1.Caption := Format(</span><span class="f_CodeExample" style="color: #ff0000;">'System Idle since %d ms'</span><span class="f_CodeExample" style="color: #000000;">, [LastInput]);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// The GetLastInputInfo function retrieves the time</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// of the last input event.</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Minimum operating systems: Windows 2000</span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как определить, запущено ли приложение в Windows 2017-11-01T19:12:56+07:00 2017-11-01T19:12:56+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-opredelit-zapushcheno-li-prilozhenie-v-windows.html Super User toto44@inbox.ru <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFNDEF WIN32}</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> WF_WINNT = </span><span class="f_CodeExample" style="color: #800000;">$4000</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsNT : bool; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFDEF WIN32}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   osv : TOSVERSIONINFO; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result := true; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFDEF WIN32}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(osv); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> osv.dwPlatformId = VER_PLATFORM_WIN32_NT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ELSE}</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">   </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((GetWinFlags </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> WF_WINNT) = WF_WINNT ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result := false; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsNt </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Running on NT'</span><span class="f_CodeExample" style="color: #000000;">) </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Not Running on NT'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-opredelit-zapushcheno-li-prilozhenie-v-windows.html">Подробнее...</a></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFNDEF WIN32}</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">const</span><span class="f_CodeExample" style="color: #000000;"> WF_WINNT = </span><span class="f_CodeExample" style="color: #800000;">$4000</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsNT : bool; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFDEF WIN32}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">   osv : TOSVERSIONINFO; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result := true; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$IFDEF WIN32}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(osv); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> osv.dwPlatformId = VER_PLATFORM_WIN32_NT </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ELSE}</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">   </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> ((GetWinFlags </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">and</span><span class="f_CodeExample" style="color: #000000;"> WF_WINNT) = WF_WINNT ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #0000ff; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{$ENDIF}</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> result := false; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> IsNt </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Running on NT'</span><span class="f_CodeExample" style="color: #000000;">) </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'Not Running on NT'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-opredelit-zapushcheno-li-prilozhenie-v-windows.html">Подробнее...</a></p> Как программе удалить саму себя? 2017-11-01T19:21:16+07:00 2017-11-01T19:21:16+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-programme-udalit-samu-sebya.html Super User toto44@inbox.ru <p> </p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Первый способ:</span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, SysUtils; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DeleteMe; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BatchFile: TextFile; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BatchFileName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessInfo: TProcessInformation; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo: TStartupInfo; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ создаём бат-файл в директории приложения }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">BatchFileName := ExtractFilePath(ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)) + </span><span class="f_CodeExample" style="color: #ff0000;">'$$336699.bat'</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ открываем и записываем в файл }</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AssignFile(BatchFile, BatchFileName); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Rewrite(BatchFile); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">':try'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">'del "'</span><span class="f_CodeExample" style="color: #000000;"> + ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Writeln(BatchFile, </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #ff0000;">'if exist "'</span><span class="f_CodeExample" style="color: #000000;"> + ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;"> + </span><span class="f_CodeExample" style="color: #ff0000;">' goto try'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">'del "'</span><span class="f_CodeExample" style="color: #000000;"> + BatchFileName + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseFile(BatchFile); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(StartUpInfo, SizeOf(StartUpInfo), </span><span class="f_CodeExample" style="color: #800000;">$00</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo.dwFlags := STARTF_USESHOWWINDOW; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo.wShowWindow := SW_HIDE; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CreateProcess(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, PChar(BatchFileName), </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">     False, IDLE_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, StartUpInfo, </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">     ProcessInfo) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(ProcessInfo.hThread); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(ProcessInfo.hProcess); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p style="text-align: right;"> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-programme-udalit-samu-sebya.html">Подробнее...</a></p> <p> </p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Первый способ:</span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Windows, SysUtils; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DeleteMe; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> BatchFile: TextFile; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> BatchFileName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessInfo: TProcessInformation; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo: TStartupInfo; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ создаём бат-файл в директории приложения }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">BatchFileName := ExtractFilePath(ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">)) + </span><span class="f_CodeExample" style="color: #ff0000;">'$$336699.bat'</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ открываем и записываем в файл }</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">AssignFile(BatchFile, BatchFileName); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Rewrite(BatchFile); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">':try'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">'del "'</span><span class="f_CodeExample" style="color: #000000;"> + ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Writeln(BatchFile, </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #ff0000;">'if exist "'</span><span class="f_CodeExample" style="color: #000000;"> + ParamStr(</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;"> + </span><span class="f_CodeExample" style="color: #ff0000;">' goto try'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> Writeln(BatchFile, </span><span class="f_CodeExample" style="color: #ff0000;">'del "'</span><span class="f_CodeExample" style="color: #000000;"> + BatchFileName + </span><span class="f_CodeExample" style="color: #ff0000;">'"'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseFile(BatchFile); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> FillChar(StartUpInfo, SizeOf(StartUpInfo), </span><span class="f_CodeExample" style="color: #800000;">$00</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo.dwFlags := STARTF_USESHOWWINDOW; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> StartUpInfo.wShowWindow := SW_HIDE; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CreateProcess(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, PChar(BatchFileName), </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">     False, IDLE_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, StartUpInfo, </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">     ProcessInfo) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(ProcessInfo.hThread); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(ProcessInfo.hProcess); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p style="text-align: right;"> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-programme-udalit-samu-sebya.html">Подробнее...</a></p> Как создавать потоки без класса TThread? 2017-11-01T19:19:51+07:00 2017-11-01T19:19:51+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-sozdavat-potoki-bez-klassa-tthread.html Super User toto44@inbox.ru <p><span style="font-family: 'Courier New'; font-size: 8pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Ниже приведены два примера, которые при создании потоков позволяют обойтись без класса TThread, используя API функции CreateThread, SuspendThread, ResumeThread и TerminateThread.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000; font-weight: bold;">Пример 1:</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Поместите на форму 2 окошка редактирования (edit) и 6 кнопок. Далее приведён сам код:</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-sozdavat-potoki-bez-klassa-tthread.html">Подробнее...</a></p> <p><span style="font-family: 'Courier New'; font-size: 8pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Ниже приведены два примера, которые при создании потоков позволяют обойтись без класса TThread, используя API функции CreateThread, SuspendThread, ResumeThread и TerminateThread.</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000; font-weight: bold;">Пример 1:</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Поместите на форму 2 окошка редактирования (edit) и 6 кнопок. Далее приведён сам код:</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/kak-sozdavat-potoki-bez-klassa-tthread.html">Подробнее...</a></p> Посылаем нажатия клавиш другому приложению 2017-11-01T19:18:40+07:00 2017-11-01T19:18:40+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/posylaem-nazhatiya-klavish-drugomu-prilozheniyu.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Автор: Gert v.d. Venis</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Описание: </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Данный компонент получает хэндл(handle) любого запущенного окна и даёт возможность отправить по указанному хэндлу любые комбинации нажатия клавиш. </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Совместимость: Все версии Delphi</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Компонент Sendkeys: </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/posylaem-nazhatiya-klavish-drugomu-prilozheniyu.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Автор: Gert v.d. Venis</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Описание: </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Данный компонент получает хэндл(handle) любого запущенного окна и даёт возможность отправить по указанному хэндлу любые комбинации нажатия клавиш. </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Совместимость: Все версии Delphi</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Компонент Sendkeys: </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/posylaem-nazhatiya-klavish-drugomu-prilozheniyu.html">Подробнее...</a></p> Синхронизация процессов при работе с Windows (статья) 2017-11-01T19:34:26+07:00 2017-11-01T19:34:26+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/sinkhronizatsiya-protsessov-pri-rabote-s-windows-statya.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Задача синхронизации встает при одновременном доступе нескольких процессов (или нескольких потоков одного процесса) к какому-либо ресурсу. Поскольку поток в Win32 может быть остановлен в любой, заранее ему неизвестный момент времени возможна ситуация, когда один из потоков не успел завершить модификацию ресурса (например, отображенной на файл области памяти), но был остановлен, а другой поток попытался обратиться к этому же ресурсу. В этот момент ресурс находится в несогласованном состоянии, и последствия обращения к нему могут быть самыми неожиданными </span><span style="color: #000000;">–</span><span style="color: #000000;"> от порчи данных, до нарушения защиты памяти.</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Главной идеей, положенной в основу синхронизации потоков в Win32 является использование объектов синхронизации и функций ожидания. Объекты могут находиться в одном из двух состояний </span><span style="color: #000000;">–</span><span style="color: #000000;"> Signaled или Not Signaled. Функции ожидания блокируют выполнение потока до тех пор, пока заданный объект находится в состоянии Not Signaled. Таким образом, поток, которому необходим эксклюзивный доступ к ресурсу, должен выставить какой-либо объект синхронизации в несигнальное состояние, а по окончании </span><span style="color: #000000;">–</span><span style="color: #000000;"> сбросить его в сигнальное. Остальные потоки должны перед доступом к этому ресурсу вызвать функцию ожидания, которая позволит им дождаться освобождения ресурса.</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рассмотрим, какие объекты и функции синхронизации предоставляет нам Win32 API.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/sinkhronizatsiya-protsessov-pri-rabote-s-windows-statya.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Задача синхронизации встает при одновременном доступе нескольких процессов (или нескольких потоков одного процесса) к какому-либо ресурсу. Поскольку поток в Win32 может быть остановлен в любой, заранее ему неизвестный момент времени возможна ситуация, когда один из потоков не успел завершить модификацию ресурса (например, отображенной на файл области памяти), но был остановлен, а другой поток попытался обратиться к этому же ресурсу. В этот момент ресурс находится в несогласованном состоянии, и последствия обращения к нему могут быть самыми неожиданными </span><span style="color: #000000;">–</span><span style="color: #000000;"> от порчи данных, до нарушения защиты памяти.</span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Главной идеей, положенной в основу синхронизации потоков в Win32 является использование объектов синхронизации и функций ожидания. Объекты могут находиться в одном из двух состояний </span><span style="color: #000000;">–</span><span style="color: #000000;"> Signaled или Not Signaled. Функции ожидания блокируют выполнение потока до тех пор, пока заданный объект находится в состоянии Not Signaled. Таким образом, поток, которому необходим эксклюзивный доступ к ресурсу, должен выставить какой-либо объект синхронизации в несигнальное состояние, а по окончании </span><span style="color: #000000;">–</span><span style="color: #000000;"> сбросить его в сигнальное. Остальные потоки должны перед доступом к этому ресурсу вызвать функцию ожидания, которая позволит им дождаться освобождения ресурса.</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Рассмотрим, какие объекты и функции синхронизации предоставляет нам Win32 API.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/raznye-voprosy/sinkhronizatsiya-protsessov-pri-rabote-s-windows-statya.html">Подробнее...</a></p> Как активизировать предыдущий экземпляр вашей программы? 2017-10-25T18:02:04+07:00 2017-10-25T18:02:04+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-aktivizirovat-predydushchij-ekzemplyar-vashej-programmy.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если внутренняя переменная hPrevInst не равна нулю, то она содержит дескриптор предыдущего запущенного экземпляра вашей программы. Вы просто находите открытое окно по его дескриптору и, при необходимости, выводите на передний план. Весь код расположен в файле .DPR file, НЕ в модуле. Строки, которые вам необходимо добавить к вашему .DPR-файлу, в приведенном ниже примере помечены {*}. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-aktivizirovat-predydushchij-ekzemplyar-vashej-programmy.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если внутренняя переменная hPrevInst не равна нулю, то она содержит дескриптор предыдущего запущенного экземпляра вашей программы. Вы просто находите открытое окно по его дескриптору и, при необходимости, выводите на передний план. Весь код расположен в файле .DPR file, НЕ в модуле. Строки, которые вам необходимо добавить к вашему .DPR-файлу, в приведенном ниже примере помечены {*}. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-aktivizirovat-predydushchij-ekzemplyar-vashej-programmy.html">Подробнее...</a></p> Как определить какие приложения уже запущены? 2017-10-31T16:01:13+07:00 2017-10-31T16:01:13+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-opredelit-kakie-prilozheniya-uzhe-zapushcheny.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">  </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">VAR</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd : hWnd;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">buff: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">ARRAY</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">127</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">OF</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ListBox1.Clear;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd := GetWindow(Handle, gw_HWndFirst);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WHILE</span><span class="f_CodeExample" style="color: #000000;"> Wnd &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">DO</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">BEGIN</span> <span class="f_CodeExample" style="color: #000080;">{Не показываем:}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">IF</span><span class="f_CodeExample" style="color: #000000;"> (Wnd &lt;&gt; Application.Handle) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Собственное окно}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">IsWindowVisible(Wnd) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Невидимые окна}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(GetWindow(Wnd, gw_Owner) = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Дочернии окна}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(GetWindowText(Wnd, buff, sizeof(buff)) &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #000080;">{-Окна без заголовков}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">THEN</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">BEGIN</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetWindowText(Wnd, buff, sizeof(buff));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ListBox1.Items.Add(StrPas(buff));</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">END</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd := GetWindow(Wnd, gw_hWndNext);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">END</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">ListBox1.ItemIndex := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">  </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">VAR</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd : hWnd;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">buff: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">ARRAY</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">127</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">OF</span><span class="f_CodeExample" style="color: #000000;"> Char;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ListBox1.Clear;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd := GetWindow(Handle, gw_HWndFirst);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">WHILE</span><span class="f_CodeExample" style="color: #000000;"> Wnd &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">DO</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">BEGIN</span> <span class="f_CodeExample" style="color: #000080;">{Не показываем:}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">IF</span><span class="f_CodeExample" style="color: #000000;"> (Wnd &lt;&gt; Application.Handle) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Собственное окно}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">IsWindowVisible(Wnd) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Невидимые окна}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(GetWindow(Wnd, gw_Owner) = </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">AND</span> <span class="f_CodeExample" style="color: #000080;">{-Дочернии окна}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">(GetWindowText(Wnd, buff, sizeof(buff)) &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #000080;">{-Окна без заголовков}</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">THEN</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">BEGIN</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">GetWindowText(Wnd, buff, sizeof(buff));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ListBox1.Items.Add(StrPas(buff));</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">END</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Wnd := GetWindow(Wnd, gw_hWndNext);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">END</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">ListBox1.ItemIndex := </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как определить откуда был запущен процесс? 2017-10-31T16:05:09+07:00 2017-10-31T16:05:09+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-opredelit-otkuda-byl-zapushchen-protsess.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Есть handle запущенного PE файла. Как определить откуда он был запущен?</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Я так предполагаю что getmodulefilename как и GetModuleHandle </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">работает в рамках только своего процесса.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">А решить твою задачу .. можно так:</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Тут парочка моих любимых функций</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-opredelit-otkuda-byl-zapushchen-protsess.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Есть handle запущенного PE файла. Как определить откуда он был запущен?</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Я так предполагаю что getmodulefilename как и GetModuleHandle </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">работает в рамках только своего процесса.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">А решить твою задачу .. можно так:</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Тут парочка моих любимых функций</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-opredelit-otkuda-byl-zapushchen-protsess.html">Подробнее...</a></p> Как получить / установить приоритет процесса? 2017-10-25T18:00:34+07:00 2017-10-25T18:00:34+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-ustanovit-prioritet-protsessa.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function. </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-ustanovit-prioritet-protsessa.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать с осторожностью - т.к. присвоение слишком высокого приоритета может привети к медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function. </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-ustanovit-prioritet-protsessa.html">Подробнее...</a></p> Как получить информацию о загрузке процессора 2017-10-31T16:34:12+07:00 2017-10-31T16:34:12+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-informatsiyu-o-zagruzke-protsessora.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Читать из реестра HKEY_DYN_DATA\PerfStats\StatData соответствующий ключ Kernel \CPUUsage. </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">или</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-informatsiyu-o-zagruzke-protsessora.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Читать из реестра HKEY_DYN_DATA\PerfStats\StatData соответствующий ключ Kernel \CPUUsage. </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">или</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-informatsiyu-o-zagruzke-protsessora.html">Подробнее...</a></p> Как получить список процессов? 2017-10-25T18:02:51+07:00 2017-10-25T18:02:51+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-poluchit-spisok-protsessov.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsRunning( sName : </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;"> ) : boolean; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> han : THandle; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcStruct : PROCESSENTRY32; </span><span class="f_CodeExample" style="color: #000080;">// from "tlhelp32" in uses clause </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sID : </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := false; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Get a snapshot of the system </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> han := CreateToolhelp32Snapshot( TH32CS_SNAPALL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> han = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    exit; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Loop thru the processes until we find it or hit the end </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcStruct.dwSize := sizeof( PROCESSENTRY32 ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Process32First( han, ProcStruct ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">repeat</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        sID := ExtractFileName( ProcStruct.szExeFile ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #000080;">// Check only against the portion of the name supplied, ignoring case </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> uppercase( copy( sId, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, length( sName ) ) ) = uppercase( sName ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">          </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">            </span><span class="f_CodeExample" style="color: #000080;">// Report we found it </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            Result := true; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            Break; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">          </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Process32Next( han, ProcStruct ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// clean-up </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle( han ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> IsRunning( sName : </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;"> ) : boolean; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> han : THandle; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcStruct : PROCESSENTRY32; </span><span class="f_CodeExample" style="color: #000080;">// from "tlhelp32" in uses clause </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> sID : </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := false; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Get a snapshot of the system </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> han := CreateToolhelp32Snapshot( TH32CS_SNAPALL, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> han = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    exit; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Loop thru the processes until we find it or hit the end </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcStruct.dwSize := sizeof( PROCESSENTRY32 ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Process32First( han, ProcStruct ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">repeat</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        sID := ExtractFileName( ProcStruct.szExeFile ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #000080;">// Check only against the portion of the name supplied, ignoring case </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> uppercase( copy( sId, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">, length( sName ) ) ) = uppercase( sName ) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">          </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">            </span><span class="f_CodeExample" style="color: #000080;">// Report we found it </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            Result := true; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            Break; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">          </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">until</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> Process32Next( han, ProcStruct ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// clean-up </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> CloseHandle( han ); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как поменять приоритет моего приложения? 2017-10-31T16:07:17+07:00 2017-10-31T16:07:17+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-pomenyat-prioritet-moego-prilozheniya.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessID: DWORD;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessHandle: THandle;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ThreadHandle: THandle;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessID := GetCurrentProcessID;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcessHandle := OpenProcess(PROCESS_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">SET</span><span class="f_CodeExample" style="color: #000000;">_INFORMATION,</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    false, ProcessID);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ThreadHandle := GetCurrentThread;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessID: DWORD;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessHandle: THandle;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ThreadHandle: THandle;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcessID := GetCurrentProcessID;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcessHandle := OpenProcess(PROCESS_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">SET</span><span class="f_CodeExample" style="color: #000000;">_INFORMATION,</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    false, ProcessID);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">CLASS</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ThreadHandle := GetCurrentThread;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как разрешить / запретить переключение между задачами? 2017-10-31T16:06:04+07:00 2017-10-31T16:06:04+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-razreshit-zapretit-pereklyuchenie-mezhdu-zadachami.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">только для ALT+TAB и CTRL+ESC)</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Это не совсем профессиональный способ, но он работает! Мы просто эмулируем запуск и остановку скринсейвера.</span></span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Procedure</span><span class="f_CodeExample" style="color: #000000;"> TaskSwitchingStatus( State : Boolean ); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    OldSysParam : LongInt; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    SystemParametersInfo( SPI_SCREENSAVERRUNNING, Word( State ), @OldSysParam, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">только для ALT+TAB и CTRL+ESC)</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">Это не совсем профессиональный способ, но он работает! Мы просто эмулируем запуск и остановку скринсейвера.</span></span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">Procedure</span><span class="f_CodeExample" style="color: #000000;"> TaskSwitchingStatus( State : Boolean ); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    OldSysParam : LongInt; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    SystemParametersInfo( SPI_SCREENSAVERRUNNING, Word( State ), @OldSysParam, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;"> ); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">End</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как спрятать программу из списка задач? 2017-10-24T20:05:59+07:00 2017-10-24T20:05:59+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-spryatat-programmu-iz-spiska-zadach.html Super User toto44@inbox.ru <p> </p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Или Как заказать сервисный процесс ?</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> Stealth;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">WinTypes, WinProcs, Classes, Forms, SysUtils, Controls, Messages;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">TStealth = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TComponent)</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">private</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">fHideApp: Boolean;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetHideApp(Value: Boolean);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">protected</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Protected declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HideApplication;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ShowApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">public</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Public declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> Create(AOwner: TComponent); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> Destroy; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// procedure Loaded; override;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">published</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Published declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> HideApp: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> fHideApp </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> SetHideApp </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> false;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">external</span> <span class="f_CodeExample" style="color: #ff0000;">'KERNEL32.DLL'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> TStealth.Destroy;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ShowApplication;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">inherited</span><span class="f_CodeExample" style="color: #000000;"> destroy;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> TStealth.Create(AOwner: TComponent);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">inherited</span><span class="f_CodeExample" style="color: #000000;"> Create(AOwner);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// fHideform := true;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.SetHideApp(Value: Boolean);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">fHideApp := Value;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Value </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> HideApplication </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span><span class="f_CodeExample" style="color: #000000;"> ShowApplication;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.HideApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.ShowApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterComponents(</span><span class="f_CodeExample" style="color: #ff0000;">'My'</span><span class="f_CodeExample" style="color: #000000;">, [TStealth]);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Admin автор </span></p> <p> </p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Или Как заказать сервисный процесс ?</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">unit</span><span class="f_CodeExample" style="color: #000000;"> Stealth;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">interface</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">WinTypes, WinProcs, Classes, Forms, SysUtils, Controls, Messages;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">type</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">TStealth = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">class</span><span class="f_CodeExample" style="color: #000000;">(TComponent)</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">private</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">fHideApp: Boolean;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> SetHideApp(Value: Boolean);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">protected</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Protected declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> HideApplication;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> ShowApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">public</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Public declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> Create(AOwner: TComponent); </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> Destroy; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">override</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// procedure Loaded; override;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">published</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">{ Published declarations }</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">property</span><span class="f_CodeExample" style="color: #000000;"> HideApp: Boolean </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">read</span><span class="f_CodeExample" style="color: #000000;"> fHideApp </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">write</span><span class="f_CodeExample" style="color: #000000;"> SetHideApp </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">default</span><span class="f_CodeExample" style="color: #000000;"> false;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">external</span> <span class="f_CodeExample" style="color: #ff0000;">'KERNEL32.DLL'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">implementation</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">destructor</span><span class="f_CodeExample" style="color: #000000;"> TStealth.Destroy;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ShowApplication;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">inherited</span><span class="f_CodeExample" style="color: #000000;"> destroy;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">constructor</span><span class="f_CodeExample" style="color: #000000;"> TStealth.Create(AOwner: TComponent);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">inherited</span><span class="f_CodeExample" style="color: #000000;"> Create(AOwner);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// fHideform := true;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.SetHideApp(Value: Boolean);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">fHideApp := Value;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Value </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> HideApplication </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span><span class="f_CodeExample" style="color: #000000;"> ShowApplication;</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.HideApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TStealth.ShowApplication;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">Register</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">RegisterComponents(</span><span class="f_CodeExample" style="color: #ff0000;">'My'</span><span class="f_CodeExample" style="color: #000000;">, [TStealth]);</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">.</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Admin автор </span></p> Как спрятать программу от TaskManager 2017-10-31T16:32:15+07:00 2017-10-31T16:32:15+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-spryatat-programmu-ot-taskmanager.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот вопрос меня уже достал, он задаётся на всех программистских форумах, поэтому я выкладываю solution. Листинг библиотеки (nthide.dll), которая будет выполнять нужную нам функцию:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-spryatat-programmu-ot-taskmanager.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Этот вопрос меня уже достал, он задаётся на всех программистских форумах, поэтому я выкладываю solution. Листинг библиотеки (nthide.dll), которая будет выполнять нужную нам функцию:</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-spryatat-programmu-ot-taskmanager.html">Подробнее...</a></p> Как стать невидимым в Windows? 2017-10-31T16:09:00+07:00 2017-10-31T16:09:00+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-stat-nevidimym-v-windows.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Вступление </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Эта статья описывает техники скрытия объектов, файлов, сервисов,</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">процессов и т.д. в ОС Windows . Эти методы основаны на перехвате функций</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows API, что описано в моей статье "Hooking Windows API".</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Данная информация была получена мною в процессе написания rootkit'а,</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">поэтому есть вероятность, что это может быть реализовано более эффективно или</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">намного более просто. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-stat-nevidimym-v-windows.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Вступление </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Эта статья описывает техники скрытия объектов, файлов, сервисов,</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">процессов и т.д. в ОС Windows . Эти методы основаны на перехвате функций</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Windows API, что описано в моей статье "Hooking Windows API".</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Данная информация была получена мною в процессе написания rootkit'а,</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">поэтому есть вероятность, что это может быть реализовано более эффективно или</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">намного более просто. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-stat-nevidimym-v-windows.html">Подробнее...</a></p> Как убрать мою программу из списка Alt+Ctrl+Del? 2017-10-25T18:04:25+07:00 2017-10-25T18:04:25+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-ubrat-moyu-programmu-iz-spiska-alt-ctrl-del.html Super User toto44@inbox.ru <p><span style="font-family: 'MS Sans Serif'; font-size: 8pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">external</span> <span class="f_CodeExample" style="color: #ff0000;">'KERNEL32.DLL'</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">implementation</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span> <span class="f_CodeExample" style="color: #000080;">//Скрываем</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span> <span class="f_CodeExample" style="color: #000080;">//Опять показываем</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-ubrat-moyu-programmu-iz-spiska-alt-ctrl-del.html">Подробнее...</a></p> <p><span style="font-family: 'MS Sans Serif'; font-size: 8pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">stdcall</span><span class="f_CodeExample" style="color: #000000;">; </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">external</span> <span class="f_CodeExample" style="color: #ff0000;">'KERNEL32.DLL'</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">implementation</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span> <span class="f_CodeExample" style="color: #000080;">//Скрываем</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button2Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span> <span class="f_CodeExample" style="color: #000080;">//Опять показываем</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> (csDesigning </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">in</span><span class="f_CodeExample" style="color: #000000;"> ComponentState) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">RegisterServiceProcess(GetCurrentProcessID, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-ubrat-moyu-programmu-iz-spiska-alt-ctrl-del.html">Подробнее...</a></p> Как увеличить процессорное время, выделяемого программе? 2017-10-31T16:02:26+07:00 2017-10-31T16:02:26+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-uvelichit-protsessornoe-vremya-vydelyaemogo-programme.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> с осторожностью - т.к. присвоение слишком высокого приоритета может привети к </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-uvelichit-protsessornoe-vremya-vydelyaemogo-programme.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Следующий пример изменяет приоритет приложения. Изменение приоритета следует использовать</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> с осторожностью - т.к. присвоение слишком высокого приоритета может привети к </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">медленной работе остальных программ и системы в целом. См. Win32 help for SetThreadPriority() function. </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-uvelichit-protsessornoe-vremya-vydelyaemogo-programme.html">Подробнее...</a></p> Как узнать имя файла текущего процесса? 2017-10-31T16:06:42+07:00 2017-10-31T16:06:42+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-uznat-imya-fajla-tekushchego-protsessa.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для этого существует функция GetModuleFileName, которая возвращает имя файла текущего процесса.</span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetModName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> nsize: cardinal;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> nsize := </span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetLength(fName,nsize);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetLength(fName,</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            GetModuleFileName(</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              hinstance,</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              pchar(fName),</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              nsize));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := fName;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Для этого существует функция GetModuleFileName, которая возвращает имя файла текущего процесса.</span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> GetModName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> fName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">String</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> nsize: cardinal;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> nsize := </span><span class="f_CodeExample" style="color: #800000;">128</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetLength(fName,nsize);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> SetLength(fName,</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">            GetModuleFileName(</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              hinstance,</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              pchar(fName),</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">              nsize));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Result := fName;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как узнать количество памяти используемой процессом? 2017-10-31T16:29:42+07:00 2017-10-31T16:29:42+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/kak-uznat-kolichestvo-pamyati-ispolzuemoj-protsessom.html Super User toto44@inbox.ru <p> </p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Works only on Windows NT systems (WinNT, Win2000, WinXP)</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> psAPI;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pmc: PPROCESS_MEMORY_COUNTERS;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb: Integer;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb := SizeOf(_PROCESS_MEMORY_COUNTERS);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(pmc, cb);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pmc^.cb := cb;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetProcessMemoryInfo(GetCurrentProcess(), pmc, cb) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    Label1.Caption := IntToStr(pmc^.WorkingSetSize) + </span><span class="f_CodeExample" style="color: #ff0000;">' Bytes'</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    Label1.Caption := </span><span class="f_CodeExample" style="color: #ff0000;">'Unable to retrieve memory usage structure'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeMem(pmc);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p> </p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Works only on Windows NT systems (WinNT, Win2000, WinXP)</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">uses</span><span class="f_CodeExample" style="color: #000000;"> psAPI;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pmc: PPROCESS_MEMORY_COUNTERS;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb: Integer;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb := SizeOf(_PROCESS_MEMORY_COUNTERS);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetMem(pmc, cb);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> pmc^.cb := cb;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> GetProcessMemoryInfo(GetCurrentProcess(), pmc, cb) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    Label1.Caption := IntToStr(pmc^.WorkingSetSize) + </span><span class="f_CodeExample" style="color: #ff0000;">' Bytes'</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    Label1.Caption := </span><span class="f_CodeExample" style="color: #ff0000;">'Unable to retrieve memory usage structure'</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> FreeMem(pmc);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Отключение CTRL+ALT+DELETE 2017-10-31T16:30:35+07:00 2017-10-31T16:30:35+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/otklyuchenie-ctrl-alt-delete.html Super User toto44@inbox.ru <p><span style="font-family: 'MS Sans Serif'; font-size: 8pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DisableTaskMgr(bTF: Boolean);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg: TRegistry;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg := TRegistry.Create;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.RootKey := HKEY_CURRENT_USER;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Software'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Microsoft'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Windows'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'CurrentVersion'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Policies'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'System'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> bTF = True </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    reg.WriteString(</span><span class="f_CodeExample" style="color: #ff0000;">'DisableTaskMgr'</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'1'</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> bTF = False </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    reg.DeleteValue(</span><span class="f_CodeExample" style="color: #ff0000;">'DisableTaskMgr'</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.CloseKey;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080;">// Example Call:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> DisableTaskMgr(True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> <p><span style="font-family: 'MS Sans Serif'; font-size: 8pt;"> </span></p> <div style="margin: 0px; padding: 0px; text-align: left; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> DisableTaskMgr(bTF: Boolean);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg: TRegistry;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg := TRegistry.Create;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.RootKey := HKEY_CURRENT_USER;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Software'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Microsoft'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Windows'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'CurrentVersion'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'Policies'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.OpenKey(</span><span class="f_CodeExample" style="color: #ff0000;">'System'</span><span class="f_CodeExample" style="color: #000000;">, True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> bTF = True </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    reg.WriteString(</span><span class="f_CodeExample" style="color: #ff0000;">'DisableTaskMgr'</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #ff0000;">'1'</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> bTF = False </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    reg.DeleteValue(</span><span class="f_CodeExample" style="color: #ff0000;">'DisableTaskMgr'</span><span class="f_CodeExample" style="color: #000000;">);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> reg.CloseKey;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080;">// Example Call:</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;"> DisableTaskMgr(True);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> Получение количества тактов процессора с момента перезагрузки 2017-10-31T16:36:50+07:00 2017-10-31T16:36:50+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/poluchenie-kolichestva-taktov-protsessora-s-momenta-perezagruzki.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Получение количества тактов процессора с момента перезагрузки. </span><span class="f_CodeExample"> </span><span class="f_CodeExample">Производится вызов команды RDTSC x86 процессора.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Имеются во всех процах начиная с Pentium/586. </span><span class="f_CodeExample">Подходит для всех версий Дельфи, где есть тип Int64.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Для остальных можно переписать слегка - </span><span class="f_CodeExample">результат перекладывать в две переменные Integer.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Я ее использую для определения кол-ва </span><span class="f_CodeExample">процессорного времени на выполнение куска кода.</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/poluchenie-kolichestva-taktov-protsessora-s-momenta-perezagruzki.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Получение количества тактов процессора с момента перезагрузки. </span><span class="f_CodeExample"> </span><span class="f_CodeExample">Производится вызов команды RDTSC x86 процессора.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Имеются во всех процах начиная с Pentium/586. </span><span class="f_CodeExample">Подходит для всех версий Дельфи, где есть тип Int64.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample">Для остальных можно переписать слегка - </span><span class="f_CodeExample">результат перекладывать в две переменные Integer.</span></span></p> <p class="p_CodeExample"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample"> </span><span class="f_CodeExample">Я ее использую для определения кол-ва </span><span class="f_CodeExample">процессорного времени на выполнение куска кода.</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/poluchenie-kolichestva-taktov-protsessora-s-momenta-perezagruzki.html">Подробнее...</a></p> Просмотрщик запущенных процессов 2017-10-24T20:06:50+07:00 2017-10-24T20:06:50+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/prosmotrshchik-zapushchennykh-protsessov.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Программа не видна по Ctrl+Alt+Del, и сама оттуда же может спрятать любой из процессов(правда, не все с самого начала "светятся" по Ctrl+Alt+Del) или завершить его. Простой пример для знакомства с ToolHelp32.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В исходном коде есть недоработки, например, процедура Delproc получает в качестве параметра строку, затем переводит ее в целочисленный тип(integer), хотя можно передавать сразу число. Заморочка была в проверке числа-индекса на подлинность, а так как я выдрал часть кода из более ранней своей проги, я не стал это менять, а просто подогнал до рабочей версии. Оптимизацией кода вы можете заняться сами по желанию(вы можете, если хотите, а если не хотите, то вы не обязаны, вы посто могли бы... да... :))) Программа не работала в WinNT 4.0, но в Win9x работать должна.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/prosmotrshchik-zapushchennykh-protsessov.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Программа не видна по Ctrl+Alt+Del, и сама оттуда же может спрятать любой из процессов(правда, не все с самого начала "светятся" по Ctrl+Alt+Del) или завершить его. Простой пример для знакомства с ToolHelp32.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">В исходном коде есть недоработки, например, процедура Delproc получает в качестве параметра строку, затем переводит ее в целочисленный тип(integer), хотя можно передавать сразу число. Заморочка была в проверке числа-индекса на подлинность, а так как я выдрал часть кода из более ранней своей проги, я не стал это менять, а просто подогнал до рабочей версии. Оптимизацией кода вы можете заняться сами по желанию(вы можете, если хотите, а если не хотите, то вы не обязаны, вы посто могли бы... да... :))) Программа не работала в WinNT 4.0, но в Win9x работать должна.</span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/prosmotrshchik-zapushchennykh-protsessov.html">Подробнее...</a></p> Прочитать список всех запущенных Exe/ Проверить запущен ли Exe? 2017-10-31T16:04:12+07:00 2017-10-31T16:04:12+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/spisok-zadach-protsessy-i-prioretety/prochitat-spisok-vsekh-zapushchennykh-exe-proverit-zapushchen-li-exe.html Super User toto44@inbox.ru <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Psapi, tlhelp32; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CreateWin9xProcessList(List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hSnapShot: THandle; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcInfo: TProcessEntry32; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hSnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hSnapShot &lt;&gt; THandle(-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    ProcInfo.dwSize := SizeOf(ProcInfo); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (Process32First(hSnapshot, ProcInfo)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      List.Add(ProcInfo.szExeFile); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (Process32Next(hSnapShot, ProcInfo)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        List.Add(ProcInfo.szExeFile); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(hSnapShot); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CreateWinNTProcessList(List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PIDArray: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">1023</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> DWORD; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb: DWORD; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcCount: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMod: HMODULE; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hProcess: THandle; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ModuleName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">300</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EnumProcesses(@PIDArray, SizeOf(PIDArray), cb); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcCount := cb </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> SizeOf(DWORD); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ProcCount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      PROCESS_VM_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span><span class="f_CodeExample" style="color: #000000;">, </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      False, </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      PIDArray[I]); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hProcess &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName)); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      List.Add(ModuleName); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      CloseHandle(hProcess); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GetProcessList(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ovi: TOSVersionInfo; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ovi.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(ovi); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> ovi.dwPlatformId </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    VER_PLATFORM_WIN32_WINDOWS: CreateWin9xProcessList(List); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    VER_PLATFORM_WIN32_NT: CreateWinNTProcessList(List); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> EXE_Running(FileName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; bFullpath: Boolean): Boolean; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList: TstringList; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList := TStringList.Create; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetProcessList(MyProcList); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    Result := False; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MyProcList = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> MyProcList.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bFullpath </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CompareText(ExtractFileName(MyProcList.Strings[i]), FileName) = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">          Result := True </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CompareText(MyProcList.strings[i], FileName) = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Result := True; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Result </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Break; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    MyProcList.Free; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example 1: Is a Exe-File running ? </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> EXE_Running(</span><span class="f_CodeExample" style="color: #ff0000;">'Notepad.exe'</span><span class="f_CodeExample" style="color: #000000;">, False) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'EXE is running'</span><span class="f_CodeExample" style="color: #000000;">) </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'EXE is not running'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example 2: List running Exe-Files </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList: TstringList; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList := TStringList.Create; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetProcessList(MyProcList); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MyProcList = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> MyProcList.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      ListBox1.Items.Add(MyProcList.Strings[i]); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    MyProcList.Free; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">uses</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Psapi, tlhelp32; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CreateWin9xProcessList(List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hSnapShot: THandle; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcInfo: TProcessEntry32; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> hSnapShot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hSnapShot &lt;&gt; THandle(-</span><span class="f_CodeExample" style="color: #800000;">1</span><span class="f_CodeExample" style="color: #000000;">)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    ProcInfo.dwSize := SizeOf(ProcInfo); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (Process32First(hSnapshot, ProcInfo)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      List.Add(ProcInfo.szExeFile); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">while</span><span class="f_CodeExample" style="color: #000000;"> (Process32Next(hSnapShot, ProcInfo)) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">        List.Add(ProcInfo.szExeFile); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    CloseHandle(hSnapShot); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> CreateWinNTProcessList(List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> PIDArray: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">1023</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> DWORD; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> cb: DWORD; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> I: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ProcCount: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hMod: HMODULE; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> hProcess: THandle; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ModuleName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">array</span><span class="f_CodeExample" style="color: #000000;"> [</span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">..</span><span class="f_CodeExample" style="color: #800000;">300</span><span class="f_CodeExample" style="color: #000000;">] </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span><span class="f_CodeExample" style="color: #000000;"> Char; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> EnumProcesses(@PIDArray, SizeOf(PIDArray), cb); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;"> ProcCount := cb </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">div</span><span class="f_CodeExample" style="color: #000000;"> SizeOf(DWORD); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> I := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> ProcCount - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    hProcess := OpenProcess(PROCESS_QUERY_INFORMATION </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">or</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      PROCESS_VM_</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">READ</span><span class="f_CodeExample" style="color: #000000;">, </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      False, </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      PIDArray[I]); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> (hProcess &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      EnumProcessModules(hProcess, @hMod, SizeOf(hMod), cb); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      GetModuleFilenameEx(hProcess, hMod, ModuleName, SizeOf(ModuleName)); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      List.Add(ModuleName); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      CloseHandle(hProcess); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> GetProcessList(</span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">var</span><span class="f_CodeExample" style="color: #000000;"> List: TstringList); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ovi: TOSVersionInfo; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> List = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> ovi.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> GetVersionEx(ovi); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">case</span><span class="f_CodeExample" style="color: #000000;"> ovi.dwPlatformId </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">of</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    VER_PLATFORM_WIN32_WINDOWS: CreateWin9xProcessList(List); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    VER_PLATFORM_WIN32_NT: CreateWinNTProcessList(List); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">end</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">function</span><span class="f_CodeExample" style="color: #000000;"> EXE_Running(FileName: </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">string</span><span class="f_CodeExample" style="color: #000000;">; bFullpath: Boolean): Boolean; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList: TstringList; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList := TStringList.Create; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetProcessList(MyProcList); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    Result := False; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MyProcList = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> MyProcList.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> bFullpath </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">        </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CompareText(ExtractFileName(MyProcList.Strings[i]), FileName) = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">          Result := True </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">else</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> CompareText(MyProcList.strings[i], FileName) = </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Result := True; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">      </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> Result </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Break; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    MyProcList.Free; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example 1: Is a Exe-File running ? </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button1Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> EXE_Running(</span><span class="f_CodeExample" style="color: #ff0000;">'Notepad.exe'</span><span class="f_CodeExample" style="color: #000000;">, False) </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'EXE is running'</span><span class="f_CodeExample" style="color: #000000;">) </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">else</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    ShowMessage(</span><span class="f_CodeExample" style="color: #ff0000;">'EXE is not running'</span><span class="f_CodeExample" style="color: #000000;">); </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// Example 2: List running Exe-Files </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">procedure</span><span class="f_CodeExample" style="color: #000000;"> TForm1.Button3Click(Sender: TObject); </span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> i: Integer; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList: TstringList; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> MyProcList := TStringList.Create; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">try</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    GetProcessList(MyProcList); </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> MyProcList = </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span><span class="f_CodeExample" style="color: #000000;"> Exit; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">for</span><span class="f_CodeExample" style="color: #000000;"> i := </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">to</span><span class="f_CodeExample" style="color: #000000;"> MyProcList.Count - </span><span class="f_CodeExample" style="color: #800000;">1</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">do</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">      ListBox1.Items.Add(MyProcList.Strings[i]); </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">finally</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">    MyProcList.Free; </span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">; </span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> Как запустить и подождать завершения 2х процессов? 2017-10-31T16:50:52+07:00 2017-10-31T16:50:52+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-zapustit-i-podozhdat-zaversheniya-2kh-protsessov.html Super User toto44@inbox.ru <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">То, что я понаписал нельзя считать цивильным кодом...просто демонстрация работы функции WaitForMultipleObjects ( код позорный...просто жуть...) </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-zapustit-i-podozhdat-zaversheniya-2kh-protsessov.html">Подробнее...</a></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">То, что я понаписал нельзя считать цивильным кодом...просто демонстрация работы функции WaitForMultipleObjects ( код позорный...просто жуть...) </span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-zapustit-i-podozhdat-zaversheniya-2kh-protsessov.html">Подробнее...</a></p> Как запустить программу и подождать ее завершения? 2017-10-31T16:53:18+07:00 2017-10-31T16:53:18+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-zapustit-programmu-i-podozhdat-ee-zaversheniya.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">  </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">pi : TProcessInformation;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">si : TStartupInfo;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ZeroMemory(@si,sizeof(si));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">si.cb:=SizeOf(si);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> CreateProcess(</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">PChar(lpApplicationName), </span><span class="f_CodeExample" style="color: #000080;">//pointer to name of executable module</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">PChar(lpCommandLine), </span><span class="f_CodeExample" style="color: #000080;">// Command line.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Process handle not inheritable.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Thread handle not inheritable.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">False, </span><span class="f_CodeExample" style="color: #000080;">// Set handle inheritance to FALSE.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// No creation flags.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Use parent's environment block.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Use parent's starting directory.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">si, </span><span class="f_CodeExample" style="color: #000080;">// Pointer to STARTUPINFO structure.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">pi ) </span><span class="f_CodeExample" style="color: #000080;">// Pointer to PROCESS_INFORMATION structure.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result:=false;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">RaiseLastWin32Error; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Exit;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">WaitForSingleObject(pi.hProcess,INFINITE);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseHandle(pi.hProcess);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseHandle(pi.hThread);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// ... здесь твой код</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Автор ответа: TAPAKAH</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Примечание Vit:</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если заменить</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WaitForSingleObject(pi.hProcess,INFINITE);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">на </span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #008000; font-weight: bold;">while</span> WaitforSingleObject(PI.hProcess,<span style="color: #800000;">200</span>)=WAIT_TIMEOUT <span style="color: #008000; font-weight: bold;">do</span>   application.ProcessMessages;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">то вызывающая программа не будет казаться завешанной и будет отвечать на сообщения</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 12pt;"><span style="font-family: tahoma,arial,helvetica,sans-serif;">Примечание Mikel: В RxLib есть функция для этого: FileExecuteWait</span> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">  </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">var</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">pi : TProcessInformation;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">si : TStartupInfo;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">ZeroMemory(@si,sizeof(si));</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">si.cb:=SizeOf(si);</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">not</span><span class="f_CodeExample" style="color: #000000;"> CreateProcess(</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">PChar(lpApplicationName), </span><span class="f_CodeExample" style="color: #000080;">//pointer to name of executable module</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">PChar(lpCommandLine), </span><span class="f_CodeExample" style="color: #000080;">// Command line.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Process handle not inheritable.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Thread handle not inheritable.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">False, </span><span class="f_CodeExample" style="color: #000080;">// Set handle inheritance to FALSE.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #800000;">0</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// No creation flags.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Use parent's environment block.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">nil</span><span class="f_CodeExample" style="color: #000000;">, </span><span class="f_CodeExample" style="color: #000080;">// Use parent's starting directory.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">si, </span><span class="f_CodeExample" style="color: #000080;">// Pointer to STARTUPINFO structure.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #000000;">pi ) </span><span class="f_CodeExample" style="color: #000080;">// Pointer to PROCESS_INFORMATION structure.</span></span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Result:=false;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">RaiseLastWin32Error; </span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Exit;</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">WaitForSingleObject(pi.hProcess,INFINITE);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseHandle(pi.hProcess);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">CloseHandle(pi.hThread);</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000080; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">// ... здесь твой код</span></p> <p class="p_CodeExample"><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></span></p> </td> </tr> </tbody> </table> </div> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> Автор ответа: TAPAKAH</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Примечание Vit:</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Если заменить</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> WaitForSingleObject(pi.hProcess,INFINITE);</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">на </span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #008000; font-weight: bold;">while</span> WaitforSingleObject(PI.hProcess,<span style="color: #800000;">200</span>)=WAIT_TIMEOUT <span style="color: #008000; font-weight: bold;">do</span>   application.ProcessMessages;</span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;"> </span><span style="color: #000000;">то вызывающая программа не будет казаться завешанной и будет отвечать на сообщения</span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="color: #000000; font-family: 'Times New Roman'; font-size: 12pt;"><span style="font-family: tahoma,arial,helvetica,sans-serif;">Примечание Mikel: В RxLib есть функция для этого: FileExecuteWait</span> </span></p> Как сделать, чтобы запускалась только одна копия приложения? 2017-10-31T16:55:56+07:00 2017-10-31T16:55:56+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-sdelat-chtoby-zapuskalas-tolko-odna-kopiya-prilozheniya.html Super User toto44@inbox.ru <p> блоке begin..end модуля .dpr:</p> <p><span style="color: #000000; font-family: 'Times New Roman';"> </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> HPrevInst &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">      ActivatePreviousInstance;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">      Halt;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-sdelat-chtoby-zapuskalas-tolko-odna-kopiya-prilozheniya.html">Подробнее...</a></p> <p> блоке begin..end модуля .dpr:</p> <p><span style="color: #000000; font-family: 'Times New Roman';"> </span></p> <div style="margin: 7px 0px; padding: 0px; text-align: justify; text-indent: 0px;"> <table style="border-width: 1px; border-style: solid; border-color: #000000 #c0c0c0 #c0c0c0 #000000; border-spacing: 0px; background-color: #ffffc4;" border="1" cellspacing="0" cellpadding="5" bgcolor="#ffffc4"> <tbody> <tr align="left" valign="top"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p style="text-align: justify;"><span style="color: #000000; font-family: 'Times New Roman'; font-weight: bold;">Code:</span></p> </td> </tr> <tr align="left"> <td style="border-width: 1px; border-style: solid; border-color: #c0c0c0 #000000 #000000 #c0c0c0;"> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">if</span><span class="f_CodeExample" style="color: #000000;"> HPrevInst &lt;&gt; </span><span class="f_CodeExample" style="color: #800000;">0</span> <span class="f_CodeExample" style="color: #008000; font-weight: bold;">then</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">begin</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">      ActivatePreviousInstance;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">      Halt;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #000000;">    </span><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> <p class="p_CodeExample"><span class="f_CodeExample" style="color: #008000; font-weight: bold;">end</span><span class="f_CodeExample" style="color: #000000;">;</span></p> </td> </tr> </tbody> </table> </div> <p> </p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/kak-sdelat-chtoby-zapuskalas-tolko-odna-kopiya-prilozheniya.html">Подробнее...</a></p> Поддержка процедур завершения программы 2017-10-31T16:57:21+07:00 2017-10-31T16:57:21+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/podderzhka-protsedur-zaversheniya-programmy.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Процедура </span><span style="color: #000000; font-weight: bold;">AddTerminateProc</span><span style="color: #000000;">( TermProc: </span><span style="color: #000000; font-style: italic;">TTerminateProc</span><span style="color: #000000;">); </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Добавляет процедуру в системный список процедур "завершения программы" (termination procedures list), которые вызываются перед окончанием работы приложения. Каждая такая процедура должна возвращать True, когда приложение может быть беспроблемно завершено или False, если приложение не должно быть завершено. Если любая из указанных процедур возвращает False, то выполнение приложения завершено не будет.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Функция </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;">: </span><span style="color: #000000; font-style: italic;">Boolean</span><span style="color: #000000;">; </span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Функция вызывает все подпрограммы, указанные в списке процедур завершения программы (termination procedures list). Если все процедуры и функции списка возвращают True, то </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;"> возвращает True, в остальных случаях функция возвращает False. Функция </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;"> вызывается внутренне непосредственно перед завершением выполнения приложения.</span></span></p> <p style="text-align: right;"> </p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Процедура </span><span style="color: #000000; font-weight: bold;">AddTerminateProc</span><span style="color: #000000;">( TermProc: </span><span style="color: #000000; font-style: italic;">TTerminateProc</span><span style="color: #000000;">); </span></span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;">Добавляет процедуру в системный список процедур "завершения программы" (termination procedures list), которые вызываются перед окончанием работы приложения. Каждая такая процедура должна возвращать True, когда приложение может быть беспроблемно завершено или False, если приложение не должно быть завершено. Если любая из указанных процедур возвращает False, то выполнение приложения завершено не будет.</span></p> <p><span style="color: #000000; font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"> </span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Функция </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;">: </span><span style="color: #000000; font-style: italic;">Boolean</span><span style="color: #000000;">; </span></span></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Функция вызывает все подпрограммы, указанные в списке процедур завершения программы (termination procedures list). Если все процедуры и функции списка возвращают True, то </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;"> возвращает True, в остальных случаях функция возвращает False. Функция </span><span style="color: #000000; font-weight: bold;">CallTerminateProcs</span><span style="color: #000000;"> вызывается внутренне непосредственно перед завершением выполнения приложения.</span></span></p> <p style="text-align: right;"> </p> Создать процесс с правами админа 2017-10-31T16:59:28+07:00 2017-10-31T16:59:28+07:00 https://delphi-hlp.ru/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/sozdat-protsess-s-pravami-admina.html Super User toto44@inbox.ru <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Должно</span> <span style="color: #000000;">работать</span><span style="color: #000000;">, </span><span style="color: #000000;">только</span> <span style="color: #000000;">лучше</span> <span style="color: #000000;">указывать</span> <span style="color: #000000;">полный</span> <span style="color: #000000;">путь</span> <span style="color: #000000;">до</span> <span style="color: #000000;">папки</span> <span style="color: #000000;">запускаемого</span> <span style="color: #000000;">приложения</span><span style="color: #000000;">... </span><span style="color: #000000;">без</span> <span style="color: #000000;">этого</span> <span style="color: #000000;">у</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">некоторые</span> <span style="color: #000000;">приложения</span> <span style="color: #000000;">не</span> <span style="color: #000000;">запускались</span><span style="color: #000000;">(</span><span style="color: #000000;">один</span> <span style="color: #000000;">из</span> <span style="color: #000000;">параметров</span> <span style="color: #000000;">после</span><span style="color: #000000;"> 'notepad').</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/sozdat-protsess-s-pravami-admina.html">Подробнее...</a></p> <p><span style="font-family: tahoma,arial,helvetica,sans-serif; font-size: 12pt;"><span style="color: #000000;">Должно</span> <span style="color: #000000;">работать</span><span style="color: #000000;">, </span><span style="color: #000000;">только</span> <span style="color: #000000;">лучше</span> <span style="color: #000000;">указывать</span> <span style="color: #000000;">полный</span> <span style="color: #000000;">путь</span> <span style="color: #000000;">до</span> <span style="color: #000000;">папки</span> <span style="color: #000000;">запускаемого</span> <span style="color: #000000;">приложения</span><span style="color: #000000;">... </span><span style="color: #000000;">без</span> <span style="color: #000000;">этого</span> <span style="color: #000000;">у</span> <span style="color: #000000;">меня</span> <span style="color: #000000;">некоторые</span> <span style="color: #000000;">приложения</span> <span style="color: #000000;">не</span> <span style="color: #000000;">запускались</span><span style="color: #000000;">(</span><span style="color: #000000;">один</span> <span style="color: #000000;">из</span> <span style="color: #000000;">параметров</span> <span style="color: #000000;">после</span><span style="color: #000000;"> 'notepad').</span></span></p> <p class="feed-readmore"><a target="_blank" href ="/index.php/windows/protsessy-potoki-pamyat-zadachi/zapusk-i-zavershenie-protsessov/sozdat-protsess-s-pravami-admina.html">Подробнее...</a></p>