Главная страница
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.062 c
2-1179337555
N3xt_
2007-05-16 21:45
2007.06.03
Структуры


3-1173856188
Lavrenty
2007-03-14 10:09
2007.06.03
XML-файл и DBGrid


8-1159045145
Brandik
2006-09-24 00:59
2007.06.03
Считывание BMP изображения и перевод в массив


15-1178816168
Ёжик
2007-05-10 20:56
2007.06.03
IP сервер-декодер Axis 292 и сетевая камера Axis


2-1179225218
Lakshmy
2007-05-15 14:33
2007.06.03
Показ (0,0) угла TreeView