Техническая поддержка :

Современные решения

для защиты Windows программ

и восстановления исходного кода

Обсуждение программирования на Delphi в конференции ru.delphi


Re: 1000 pаз в секунду

From: "Alexander B. Bokovikov"

On Wed, 13 Jul 2005 11:15:35 +0400, "Vladimir I. Yankovsky"
wrote:

>Таймер Windows не был создан с целью получения сверхточного хронометра. :-(

А как же мультимедийный таймер (из MMSYSTEM)?

Александр Боковиков
E-mail: bokovikov(a)mail.ru (дом.) abokovikov(a)apress.ru (раб.)
www.apress.ru/pages/bokovikov/delphi
* Origin: Demos online service (2:5020/400)


запустить процесс из службы

Приветствую, Tolik!

Однажды, 12.07.05 20:42:58, Tolik писал к Andrew O Shadoura
по поводу "Re: запустить процесс из службы".

TT>>> Боремся с запуском пользователем чего не следует?

AO>> Видимо да.

TT> Дык-ть, оно тривиально решается штатными административными инструментами
TT> Windows

Как выяснилось, нет. Производится не "борьба с пользователем" ;) , а просто
контроль за серваком. Сервак на Вин2003срв, на нем подняты Terminal Services,
так вот, в локальном режиме или при запуске удаленным пользователем моего
"энумератора" он работает как надо. Если же запуск происходит из сервиса -
ничего не работает вообще. Подробности:

>=== Cut === запуск из сервиса
=== 7/12/2005 10:39:04 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e7$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e4$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e5$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: SAWinSta ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: __X78B95_89_IW ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
>=== Cut ===

>=== Cut === запуск из командной строки удаленным пользователем
=== 7/12/2005 10:39:50 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Start Menu
SysFader
Enumerator
temp
Services
AXWIN Frame Window
Command Prompt
Connections Tray
Power Meter
MS_WebcheckMonitor
JavaUpdate SysTray Icon
CtxRdpCtlsTitle
CtxRdpShellWindow
RDPClip - Receive Thread
RDPClip - Clip Thread
Program Manager
=== 7/12/2005 10:40:34 PM===
=== Window Station found: WinSta0 ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e7$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e4$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: Service-0x0-3e5$ ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: SAWinSta ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
=== Window Station found: __X78B95_89_IW ===
=== Desktop found: WinSta0 ===
Enumerator
=== Desktop found: Service-0x0-3e7$ ===
Enumerator
=== Desktop found: Service-0x0-3e4$ ===
Enumerator
=== Desktop found: Service-0x0-3e5$ ===
Enumerator
=== Desktop found: SAWinSta ===
Enumerator
=== Desktop found: __X78B95_89_IW ===
Enumerator
>=== Cut ===

-- С уважением, Andrew O. Shadoura

AKAs: 2:450/143.25, 2:450/202.25

* Origin: Errare humanum est (2:450/143.25)


1000 pаз в секунду

From: "Anatoly Podgoretsky"

Hello, Alexander B. Bokovikov!
You wrote to Vladimir I. Yankovsky on Wed, 13 Jul 2005 13:13:51 +0000 (UTC):

??>> Таймер Windows не был создан с целью получения сверхточного хронометра.
??>> :-(

ABB> А как же мультимедийный таймер (из MMSYSTEM)?


Да кривая эта статья, возможно просто очень старая из времен Win16

--
С уважением,
Анатолий Подгорецкий

* Origin: Demos online service (2:5020/400)


Отладка

From: "Anatoly Podgoretsky"

Hello, Alexey Cherepanov!
You wrote to Slava Antonov on Wed, 13 Jul 2005 09:47:42 +0000 (UTC):

??>>>> Ваш же пример некорректен, т.к. глобальные
??>>>> переменные всегда инициализированы.
??>>> Да? И позвольте узнать, кто же их инициализирует?

SA>> Компилятор.

AC> Оо,я отстал от жизни, пример привести можешь?

Очень отстал, а религия не позволяет взглянуть в сопроводительную документацию, для этого достаточно нажать F1. Стоит ли утруждать этим конференцию?

If you don't explicitly initialize a global variable, the compiler initializes it to 0.

--
С уважением,
Анатолий Подгорецкий

* Origin: Demos online service (2:5020/400)


Re: 1000 pаз в секyндy

Пpивет, Andrey!

12 Июл 2005 23:27, Andrey Ryazanov писал Vladimir Zaikin.

>> А Timer yже не подходит?.
AR> Сам то пpобовал? Он yже на 10 pазах в секyндy начинает сбиваться....
Таймеp окpyгляет свой пеpиод до кpатного 55 мс.

WBR, Alexei Ignatov.
* Origin: Hе плюй в колодец - вылетит не поймаешь! (2:5034/13.30)


Re: Как отловить начало pаботы с yдалённым подключением?

Пpивет, Andrey!

12 Июл 2005 23:34, Andrey Ryazanov писал Oleg Lazukin.

>> И я подyмал - вот было бы здоpово, если пpи начале дозвона она сома
>> как-нибyдь запyскалась :-) Видимо, невозможно в пpинципе.
AR> Кyльная пpогpамма видимо. Hоpмально написанная пpога с единственной
AR> целью -
AR> ожидание RAS подключения должна занимать менее мегабайта и 0% CPU.
Чем не катит банальный ICQ NetDetect? Или нyжно ждать именно RAS
подключение и забивать на все остальное?

WBR, Alexei Ignatov.
* Origin: Hе плюй в колодец - вылетит не поймаешь! (2:5034/13.30)


Re: Глобальные переменные (was: Отладка)

From: "Slava Antonov"

Hello Alexey Cherepanov, you wrote:

>> Компилятор.
> Оо,я отстал от жизни, пример привести можешь?

var
V: array[0..5] of Char = ('0', '1', '0', '2', '0', '3');

Данный массив будет в самом EXE, а при загрузке программы он просто спроецируется в память.

var
I: Integer;
В экзешнике соотвествующее место будет забито нулями.

Однако мне вот что интересно. Если объявить массив на миллион элементов. То в экзешнике он не хранится. Hо при загрузке все равно будет забит нулями.

--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)





Re: Отладка

From: "Slava Antonov"

Hello Anatoly Podgoretsky, you wrote:

> If you don't explicitly initialize a global variable, the compiler initializes
> it to 0.

Анатолий, а как дело обстоит с массивами? Как я понял место под них в экзешнике не резервируется.

--
Всего хорошего, Слава.
slava.fateback.com
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003 [@] fidonet)





Re: Как отловить начало работы с удалённым подключением?

From: Oleg Lazukin

Ответ на письмо от Andrey Ryazanov с темой "Re: Как отловить начало
работы с удалённым подключением?":

>Кульная программа видимо. Hормально написанная прога с единственной целью - ожидание RAS подключения должна занимать менее мегабайта и 0% CPU.

Я не говорил, что она делает только это. Это гибрид Net.Medic,
дозвонщика и учетчика времени в сети. Сейчас глянул - уже 8МБ| !

Bye ...
Oleg Lazukin.
oleglazukin(anti-spam)mail.ru

* Origin: JSC Rostovtelecom (2:5020/400)


Re: Как отловить начало работы с удалённым подключением?

From: Oleg Lazukin

Ответ на письмо от Slava Antonov с темой "Re:Как отловить начало
работы с удалённым подключением?":

>Это проблема вашей реализации. Потому что когда приложение (точнее, поток)
>вызывает одну из функций ожидания, оно/он засыпает и никакого процесорного
>времени не забирает. Это раз.

Если под словом "засыпает" подразумевается не реагирование на действия
пользователя - то это ему делать точно нельзя.

>Кроме того, вы можете создать минипрограммку, единственной целью которой будет
>- мониторинг соединений и запуск других программ.

Конечно думал об этом| Hо пока ничего конкретного не решил.
Может лучше всё оставить как есть и бороться со склерозом (т.е.
запускать нужную программу самому|)

Bye ...
Oleg Lazukin.
oleglazukin(anti-spam)mail.ru
* Origin: JSC Rostovtelecom (2:5020/400)



Назад Содержание Вперед




Главная     Программы     Статьи     Разное     Форум     Контакты