Форум: "Основная";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизРасширение проводника Найти похожие ветки
← →
Vitek885 © (2007-04-01 10:27) [0]D2006 WinXPSP2 Prof
Пытаюсь написать расширение проводника.
Набросал библиотеку где в callback функцию написал одну команду beep
зарегистрировал расширение при помощи WritePrivateProfileString
но после перезагрузки почемуто библиотека даже не загружается
не говоря уж о beep
код библиотеки
library VSFMExt;
uses
Windows,
SysUtils,
Classes;
{$R *.res}
function FMExtensionProc(Handle:HWND; Msg: WORD; var lParam: Longint): Longint; stdcall;
begin
beep;
Result:= 0;
end;
exports
FMExtensionProc;
begin
end.
Не подскажете что неправильно
← →
Belorus © (2007-04-02 13:41) [1]зарегистрировал расширение при помощи WritePrivateProfileString - Ошибка тут
← →
Vitek885 © (2007-04-02 16:17) [2]2 Belorus
в хелпе написано что регистрация осуществляется именно так
DllPath:= ExtractFilePath(Application.ExeName) + "VSFMExt.dll";
WritePrivateProfileString("AddOns", "NewExtension", PChar(DllPath), "Winfile.ini");
exe"шник и библиотека лежат в обной папке
← →
Сергей М. © (2007-04-03 09:14) [3]
> Vitek885 © (02.04.07 16:17) [2]
> в хелпе написано что регистрация осуществляется именно так
А в хелпе разве не написано, для какой конкретно ОС приведен данный пример ?
И что за файл такой - Winfile.ini ? Нет таких файлов в WinXP.
Регистрация расширений в WinXP осуществляется в реестре !
← →
Vitek885 © (2007-04-03 22:34) [4]2 Сергей М
> А в хелпе разве не написано, для какой конкретно ОС приведен
> данный пример ?
>
> И что за файл такой - Winfile.ini ? Нет таких файлов в WinXP.
>
Про ОС ничего не сказано, а Winfile.ini я тоже не нашел но при использовании
WritePrivateProfileString("AddOns", "NewExtension", PChar(DllPath), "Winfile.ini");
данные добавляются в реестр
в
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns
и
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\winfile.ini
все это вычитал тут
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/legacyinformation/fileman.asp
← →
{RASkov} (2007-04-03 23:07) [5]This function is provided only for compatibility with 16-bit versions of Windows
Это про WritePrivateProfileString.
← →
Vitek885 © (2007-04-04 08:04) [6]А как же тогда регистрировать?
← →
Сергей М. © (2007-04-04 08:08) [7]
> как же тогда регистрировать?
средствами TRegistry, TRegInifile
← →
{RASkov} (2007-04-04 15:58) [8]> [6] Vitek885 © (04.04.07 08:04)
Да в инете вагон и маленькая тележка твоих примеров....
← →
Vitek885 © (2007-04-04 21:25) [9]
> средствами TRegistry, TRegInifile
Вы думаете что если в ручную пропишу в реестр то же самое что туда пишет WritePrivateProfileString, что то изменится? сомневаюсь ((
> {RASkov} (04.04.07 15:58) [8]
Как пользоватся компонентами доступа к реестру я знаю, но получается тот же "жезл" только в другой руке.
Может надо гдето в другом месте реестре прописывать (см (03.04.07 22:34) [4])
← →
{RASkov} (2007-04-04 23:47) [10]> Может надо гдето в другом месте реестре прописывать (см
> (03.04.07 22:34) [4])
КонеЧно.... см [8]
← →
{RASkov} (2007-04-04 23:53) [11]HKCR
http://www.yandex.ru/yandsearch?text=%C7%E0%F0%E5%E3%E8%F1%F2%F0%E8%F0%EE%E2%E0%F2%FC+%ED%EE%E2%FB%E9+%F2%E8%EF+%F4%E0%E9%EB%E0+%E2+Delphi
← →
Vitek885 © (2007-04-05 06:09) [12]
> {RASkov} (04.04.07 23:47) [10]
Извените если ввел вас в заблуждение, но я имел в виду регистрацию не "расширения файлов", а "расширения проводника", те dll котора подключается к эксплореру в момент его старта и получает сообщения о действиях пользователя в окне FileMenagera, при помощи Callback функции FMExtensionProc. Мне надо отлавливать выделения файлов пользователем (т.е. получение сообщения FMEVENT_SELCHANGE). Но пока даже не удается заставить dll хотябы просто подключится к explorer.exe. В момент его запуска FileMonitor даже не регистрирует обращения к моей библиотеке со стороны процесса explorer.exe.
← →
DiamondShark © (2007-04-05 11:31) [13]Ты перепутал расширения проводника и расширания FileMenager.
← →
Vitek885 © (2007-04-05 20:59) [14]
> DiamondShark © (05.04.07 11:31) [13]
> Ты перепутал расширения проводника и расширания FileMenager.
Я думал это одно и тоже (окошко explorer.exe в котором пользователь работает с папками и файлами) или это разные вещи и я вообще не туда копаю?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c