Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
ВнизЭмуляция Delphi IDE Найти похожие ветки
← →
Dr. Genius (2006-10-11 18:17) [0]Здравствуйте!
Хочу сделать эмулятор 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 не эмулируется (хотя не могу говорить точно, так как я проверял только на одном платном компоненте; других у меня нет). Может, я задаю не те значения в качестве аргументов.
← →
Ketmar © (2006-10-11 18:24) [1]>[0] Dr. Genius 11-Oct-2006, 18:17
>сами понимаете, для какой цели
не понимаю.
← →
Джо © (2006-10-11 18:26) [2]> [1] Ketmar © (11.10.06 18:24)
> не понимаю.
Или "не приемлю"? ;)
← →
Ketmar © (2006-10-11 19:42) [3]>[2] Джо(c) 11-Oct-2006, 18:26
>Или "не приемлю"? ;)
нет. не понимаю.
← →
DrPass © (2006-10-11 22:08) [4]
> CreateWindow("TAppBuilder", "Builder", 1, 0, 0, 0, 0, 0,
> 0, 1, nil);
Мне всегда казалось, что перед вызовом CreateWindow следовало бы зарегистрировать соответствующий класс с помощью RegisterClass...
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c