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

Вниз

Расширение проводника   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.056 c
15-1178620975
DVM
2007-05-08 14:42
2007.06.03
Можно ли как то оптимизировать данный участок кода


15-1178552374
vitv
2007-05-07 19:39
2007.06.03
Настройка доступа в Вин2003.


11-1160734977
Psychedelic
2006-10-13 14:22
2007.06.03
Как перехватить сообщения без KOL applet и Form.OnMessage


15-1178819495
Knight
2007-05-10 21:51
2007.06.03
Пенсия и работа у частника&#133


15-1178177317
Ega23
2007-05-03 11:28
2007.06.03
У жены сестра старшая двойню родила!!!