Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Как прочитать описание .CPL файла?   Найти похожие ветки 

 
-= Like =-   (2002-08-19 15:20) [0]

Добрый день. Когда в Панели управления щелкаешь мышью по значкам CPL файлов, то в левой стороне Проводника появляеться описание .CPL файла (естественно, когда включен режим просмотра "Как веб-страница"). Как прочитать это описание, где оно храниться?


 
Cobalt ©   (2002-08-19 16:30) [1]

Это хранится в ресурсе версии. Можно прочитать еще так: св-ва файла - вкладка "Версия". В свою CPL можно добавить, см. меню Дельфей "Информация о проекте"


 
-= Like =-   (2002-08-19 16:49) [2]

Нет, неправильно!

Посмотри свойства файла Modem.cpl. Там написано "Настройка модема". А теперь зайди в Панель управления и щелкни разок по значку "Модемы", слева появиться описание: "Установка нового модема и изменение его параметров". Вот что мне нужно!


 
-= Like =-   (2002-08-19 18:36) [3]

Не верю, что никто не знает!!!!!!!!!!!!!!!!


 
Ученик ©   (2002-08-19 18:42) [4]

В Delphi 6.0 это свойство TAppletModule.Help


 
-= Like =-   (2002-08-19 18:44) [5]

Мне нужно прочитать описание чужого CPL файла.

TAppletModule.Help в любом случае мне не подходит.


 
Ученик ©   (2002-08-19 18:46) [6]

По-моему оно внутри, и это ответ на запрос


 
VSergeySPB   (2002-08-19 20:00) [7]

За вывод подсказок в винде отвечает интерфейс InfoTip(IInfoTip).
В этом направлении и надо копать. Где-то я видел по этому поводу статью. Вроде бы на rsdn.ru.


 
TTCustomDelphiMaster ©   (2002-08-19 21:08) [8]

смотри CPlApplet, NEWCPLINFO, CPLINFO


 
-= Like =-   (2002-08-19 21:43) [9]

NEWCPLINFO, CPLINFO

Если не ошибаюсь какой-то из них хранит описание CPL файла. Сейчас по рукой инфы нет.

А как можно программно прочитать это описание CPL файла?
Пример не помешает.


 
-=Like=-   (2002-08-20 12:52) [10]

Не знаем?

И Вы называете себя "Мастерами"???


 
TTCustomDelphiMaster ©   (2002-08-20 21:05) [11]


> -=Like=- (20.08.02 12:52)
> Не знаем?


Знаем, знаем. Только времени нет отвечать. Вот выкроил время написал функцию. С ней еще нужно поэкспериментировать - проверить на разных OS (я проверял на XP). Ну этим ты уж сам займись.

...
uses ..., cpl;

type
...

TCplApplet = function(hwndCPl: THandle; uMsg: DWORD; lParam1: longint; lParam2: longint): Longint; stdcall;

...

implementation

...
//Получение описания Cpl
function GetCplInfo(CplPath: string): string;
var
hLib: THandle;
CplCall: TCplApplet;
CplInfW: TNewCplInfoW;
CplInfA: TNewCplInfoA;
CplInf: TCplInfo;
begin
Result :="Info not found";
hLib := LoadLibrary(PChar(CplPath));
if hLib<>0 then
try
CplCall := GetProcAddress(hLib,"CPlApplet");
if @CplCall<>nil then
try
CplCall(0, CPL_INIT, 0, 0);
CplInfA.dwSize := 0;
CplInfA.dwFlags := 0;
CplCall(0, CPL_NEWINQUIRE, 0, LongInt(@CplInfA));
if CplInfA.dwSize = sizeof(TNewCplInfoA) then
Result := CplInfA.szInfo
else
begin
CplInfW.dwSize := 0;
CplInfW.dwFlags := 0;
CplCall(0, CPL_NEWINQUIRE, 0, LongInt(@CplInfW));
if CplInfW.dwSize = sizeof(TNewCplInfoW) then
Result := WideCharToString(CplInfW.szInfo)
else
begin
CplCall(0, CPL_INQUIRE, 0, LongInt(@CplInf));
LoadStringA(hLib, CplInf.idInfo, CplInfA.szInfo, 32);
Result := CplInfA.szInfo;
end;
end;
finally
CplCall(0, CPL_EXIT, 0, 0);
end;
finally
FreeLibrary(hLib);
end;
end;

//Вызов функции
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(GetCplInfo("Desk.cpl"));
end;
...


 
~Rand~ ©   (2002-08-20 21:32) [12]

может в ресурсах .cpl файла



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
1-3473
Tokha
2002-08-21 08:58
2002.09.02
Как


4-3670
mxsbnet
2002-07-02 10:19
2002.09.02
Мигание окошка в панели задач


1-3465
cfg
2002-08-21 05:39
2002.09.02
проблема


14-3628
Invega
2002-08-07 21:18
2002.09.02
А из Луганска, что на Украине есть кто?


3-3263
Uran
2002-08-09 16:48
2002.09.02
Ограничение прав доступа