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

для защиты Windows приложений

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

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





SetWindowsHook

*..........[* _Привет, Slava!_ *]..........*

25 Июл 05 18:52, */Slava Antonov/* ·•-> */Alexander Salmanov/*


>>> [msdn]If the hook procedure processed the message, it may return a

>>> nonzero value to *prevent the system from passing the message to*

>>> the rest of the hook chain or *the target window procedure*.[/msdn]

>> Вроде в России живем. Может русским языком напишешь как сделать?

SA> Перевожу дословно: "Если хуковая процедура обрабатывает сообщение, она

SA> может вернуть ненулевое значение, чтобы запретить системе отправлять

SA> сообщение дальше по цепочке хуков или целевой оконной процедуре"


Спасибо. Hо че-то все равно ничего не получилось. Так что надо изменить в первоначальном куске кода?

=== Цитирую файл Windows Clipboard ===
function KeyboardProc(hCode: Integer; wParam: Longint; lParam: Longint): LRESULT; stdcall;
var
Wnd: THandle;
begin
if (hCode >= 0) and (wParam>165) and (wParam<181) then

begin
Wnd := FindWindow(nil, 'mywindow');
if Wnd > 0 then

PostMessage(Wnd, WM_KEYBHOOK, wParam, lParam);
end;
Result:=CallNextHookEx(KeyboardHook, hCode, wParam, lParam);
end;
=== Конец цитаты ===


>>> PS: Работать с мультимедиа кнопками можно еще через

>>> RegisterShellHookWindow. Функция появилась, имхо, в Вин ХР.

>> И где я по-твоему должен найти ее описание?

SA> В MSDN, или MSDN-online


Hи MSDN, ни online на данный момент нету.


*..........[* _Удачи тебе, Slava!_ *]..........*
*_/С уважением Александр./_*
* Origin: -=B'n'TH team=- (2:5057/19.122)

TMemo

--=+-==================================--
-=+= Я вас категорически приветсвую, Igor!

Суббота, Июль 23 2033, Igor Betin писал для All:
IB> Можно ли у Memo, когда оно Disabled, изменить цвет шpифта?

Почему обязательно Disabled? Сделай ReadOnly...
Я с вами категорически прощаюсь. _Alex_.
,---||]|||||||+---. ,---------Воскресенье, Август 07 2005, 22:37.
* Origin: Press anykey to continue or any other key to exit. (2:5012/40.8)

Как складывать даты?

--=+-==================================--
-=+= Я вас категорически приветсвую, Rouslan!

Среда, Июль 27 2033, Rouslan Ibraguimov писал для All:
RI> Каким обpазом пpибавить 30 дней к какой-нибудь дате? 8--о

RI> Чтобы, напpимеp дата 12.12.2005 пpевpатилась в 11.01.2006

RI> Может это чеpез DataTimePicker или MonthCalendar сделать можно?

TDateTime type
TDateTime represents a date-and-time value in the Delphi language.

Unit

System

Delphi syntax:

type TDateTime = type Double;

Description

Most CLX objects represent date and time values using a TDateTime value. In Delphi, TDateTime is a type that maps to a Double. In C++, the TDateTime class corresponds to the Delphi TDateTime type.

The integral part of a Delphi TDateTime value is the number of days that have passed since 12/30/1899. The fractional part of the TDateTime value is fraction of a 24 hour day that has elapsed.

Following are some examples of TDateTime values and their corresponding dates and times:

0 12/30/1899 12:00 am
2.75 1/1/1900 6:00 pm
-1.25 12/29/1899 6:00 am
35065 1/1/1996 12:00 am
To find the fractional number of days between two dates, simply subtract the two values, unless one of the TDateTime values is negative. Similarly, to increment a date and time value by a certain fractional number of days, add the fractional number to the date and time value if the TDateTime value is positive.
When working with negative TDateTime values, computations must handle time portion separately. The fractional part reflects the fraction of a 24-hour day without regard to the sign of the TDateTime value. For example, 6:00 am on 12/29/1899 is -1.25, not -1 + 0.25, which would be -0.75. There are no TDateTime values between -1 and 0.

Note: Delphi 1.0 calculated the date from year 1 instead of from 1899. To convert a Delphi 1.0 date to a TDateTime value in later versions of the Delphi language, subtract 693594.0 from the Delphi 1.0 date.

Delphi help
Я с вами категорически прощаюсь. _Alex_.
,---||]|||||||+---. ,---------Воскресенье, Август 07 2005, 22:42.
* Origin: Press anykey to continue or any other key to exit. (2:5012/40.8)

Два окна у приложения

Hello everybody.


Если перебирать все окна с самого верхнего, то обнаруживается, что у своего
приложения их два.
TForm1 - Form1 - первое в Z буфере,
TApplication - Project1 - идет следом

Зачем второе?


Lexa

* Origin: Буратино - ты сам себе злобный (2:5061/122.12)

Re: SetWindowsHook

From: "Slava Antonov" <deadbeef [@] so.yandex.ru>


Hello Alexander Salmanov, you wrote:

> === Цитирую файл Windows Clipboard ===

> function KeyboardProc(hCode: Integer; wParam: Longint; lParam: Longint):

> LRESULT; stdcall;

> var

> Wnd: THandle;

> begin

> if (hCode >= 0) and (wParam>165) and (wParam<181) then

> begin

> Wnd := FindWindow(nil, 'mywindow');

> if Wnd > 0 then

begin
> PostMessage(Wnd, WM_KEYBHOOK, wParam, lParam);

Result:= 1;
Exit;
end;
> end;

> Result:=CallNextHookEx(KeyboardHook, hCode, wParam, lParam);

> end;

> === Конец цитаты ===


>> В MSDN, или MSDN-online

> Hи MSDN, ни online на данный момент нету.


Очень советую приобрести.

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






LLT+-L+ ¦+¦¦ ¦¦ http

ю+T¦-, ¦¦¦T¦Lг¦г =++T L¦T¦LгL+, T+T + -+¦+¦г 7 L-+¦+L+ L+Tг?
¦+¦ L-T+¦LT-L-T+¦LT - +г¦г¦+ ++ +--¦¦, T L¦г+ ¦¦¦T¦T¦++¦ ¦¦T¦+-TTL+LT -
+г¦г¦+ ++ +--¦¦. ь+-г¦ + г++L+ - L+T +г¦г¦+ г ++ ++-+¦ - +г ¦-г+ г-
¦Tг=+T¦+ ++ T+T¦L++L :( ф+¦L+ ¦¦г- Єхсь°ю•ъ ¦Tг=+T!
ю-г+¦: LLT+-L+ ¦+¦¦ ¦+T+- http, +LL+ ¦T¦TLг L ++L¦Tг-++г+¦, ¦+¦¦
Tг++T+-¦, T+TLг+T+, ++ +-г+¦ L¦LT++гL+ ++ -гLT.

* Origin: A poorly-installed InterNetNews site (2:5071/121.85)

Re: Библиотеки для pаботы с jpeg

"Mishel Makovkin" <Mishel.Makovkin [@] p38.f102.n5025.z2.fidonet.org>

> Интеpесуют ссылки на subj'и, с помощью котоpых можно узнать pазмеp jpeg

> изобpажения, с инфоpмацией о кооpдинатах и цвете каждого отдельного

> пикселя.

> Желательна также поддеpжка выделения отдельных участков изобpажения, для

> pаботы

> с ними.


Pegasus ImageXpress

* Origin: South Ural Network (2:5010/70)

Как Tray Icon почистить от стаpых иконок?

#region Ответ на письмо Anatoly Podgoretsky к Павел Глухих по теме "Как Tray Icon почистить от стаpых иконок?". [ date_24 июля 05_ ]
AP> From: "Anatoly Podgoretsky" <anatoly [@] podgoretsky.com>


AP> Hello, Павел Глухих!

AP> You wrote to All on Sat, 23 Jul 2005 17:44:02 +0400:


ПГ>> Пpи HЕПРАВЕЛЬHОМ выключении пpогpаммы пpоисходит накопление иконок в

ПГ>> систем тpэе. Как это дело вылечить?


AP> Пеpеписать пpогpамму


Всмысле? Виндовс чтоли пеpеписать?

#endregion
* Origin: Бей вpага - дpузья найдутся (2:5083/39.47)

SetWindowsHook

*..........[* _Привет, Slava!_ *]..........*

26 Июл 05 05:32, */Slava Antonov/* ·•-> */Alexander Salmanov/*


>> === Цитирую файл Windows Clipboard ===

>> function KeyboardProc(hCode: Integer; wParam: Longint; lParam:

>> Longint): LRESULT; stdcall; var

>> Wnd: THandle;

>> begin

>> if (hCode >= 0) and (wParam>165) and (wParam<181) then

>> begin

>> Wnd := FindWindow(nil, 'mywindow');

>> if Wnd > 0 then

SA> begin

>> PostMessage(Wnd, WM_KEYBHOOK, wParam, lParam);

SA> Result:= 1;

SA> Exit;

SA> end;

>> end;

>> Result:=CallNextHookEx(KeyboardHook, hCode, wParam, lParam);

>> end;

>> === Конец цитаты ===


Вот теперь спасибо. Hо проблема в том, что это не помогает. При нажатии, допустим, на кнопку mail, она у меня отлавливается, но потом (или до этого) ее обрабатывает сама винда и запускает мейлер. И так со всеми клавишами. Что посоветуешь?

>>> В MSDN, или MSDN-online

>> Hи MSDN, ни online на данный момент нету.


SA> Очень советую приобрести.


SA> --

SA> Всего хорошего, Слава.

SA> http://slava.fateback.com

SA> --- ifmail v.2.15dev5

SA> * Origin: (http://news.cca.usart.ru/) USURT's FidoNET<->

SA> (2:5080/1003 [@] fidonet)



*..........[* _Удачи тебе, Slava!_ *]..........*
*_/С уважением Александр./_*
* Origin: -=B'n'TH team=- (2:5057/19.122)

math компоненты

-=> Привет, /_*All*/_! <=-


Очень интересует сабж. Сам нашел SDL, Matiss (но не нашел где скачать), JEDI Math ( и все с борландовской странички). Если конкретнее, то парсеры выражений не интересны благо их навалом, а интересны компоненты с аппроксимацией функций, нейро сетевые (в том же SDL есть сеть Кохонена). Если кто знает что-нибудь сабжевое просьба подсказать где взять.

-=> Удачи, /_*All*_/! <=-

С уважением /_*Sergey*_/
* Origin: Покопайтесь в своих (к)аналах. (2:5027/12.39)