Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.056 c
2-1179043036
Calibr
2007-05-13 11:57
2007.06.03
Заставка с параметрами


1-1175524308
DelphiLexx
2007-04-02 18:31
2007.06.03
Аналог TNotebook, но поддерживающий наследование


2-1179284931
Новичек
2007-05-16 07:08
2007.06.03
ShellExecute - ожидание завершения.


2-1179133124
dobry
2007-05-14 12:58
2007.06.03
отображение memo поля


3-1173776948
George
2007-03-13 12:09
2007.06.03
Проблема с коннектом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский