Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Эмуляция Delphi IDE [D6, 95/98]


Dr. Genius ©   (2006-10-11 18:17:00) 

Здравствуйте!

Хочу сделать эмулятор Delphi IDE (сами понимаете, для какой цели).

Обычно в платных компонентах идет проверка наличия запущенного Delphi IDE, и если он не обнаружен, выводится сообщение о незарегистрированной копии. Проверка эта в большинстве случаев реализуется вот как:

function IsDelphiRun: Boolean;
begin
 Result := (FindWindow('TAppBuilder', nil) <> 0)
   and (FindWindow('TAlignPalette', nil) <> 0)
   and (FindWindow('TPropertyInspector', nil) <> 0);
end;

Я подумал, а что если сделать эмуляцию этих окон ('TAppBuilder', 'TAlignPalette' и 'TPropertyInspector') с помощью CreateWindow? Вот как я это сделал:

CreateWindow('TAppBuilder', 'Builder', 1, 0, 0, 0, 0, 0, 0, 1, nil);
CreateWindow('TAlignPalette', 'Palette', 1, 0, 0, 0, 0, 0, 0, 1, nil);
CreateWindow('TPropertyInspector', 'Inspector', 1, 0, 0, 0, 0, 0, 0, 1, nil);

Но при проверке оказалось, что Delphi IDE не эмулируется (хотя не могу говорить точно, так как я проверял только на одном платном компоненте; других у меня нет). Может, я задаю не те значения в качестве аргументов.


DrPass   (2006-10-11 22:08:00) [1]


> CreateWindow('TAppBuilder', 'Builder', 1, 0, 0, 0, 0, 0,
>  0, 1, nil);

Мне всегда казалось, что перед вызовом CreateWindow следовало бы зарегистрировать соответствующий класс с помощью RegisterClass...


Ketmar   (2006-10-11 19:42:00) [2]

>[2] Джо(c) 11-Oct-2006, 18:26
>Или "не приемлю"? ;)
нет. не понимаю.


Джо   (2006-10-11 18:26:00) [3]

> [1] Ketmar ©   (11.10.06 18:24)
> не понимаю.

Или "не приемлю"? ;)


Ketmar   (2006-10-11 18:24:00) [4]

>[0] Dr. Genius 11-Oct-2006, 18:17
>сами понимаете, для какой цели
не понимаю.


Наверх

Титульная страница Поиск, карта сайта Написать письмо