Форум: "Основная";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];
ВнизКак прочитать описание .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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.011 c