Главная страница
    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.187 c
15-1178196954
pavel_guzhanov
2007-05-03 16:55
2007.06.03
Мышка из нержавейки


9-1151685359
VolanD666
2006-06-30 20:35
2007.06.03
Нормальный Lightmap


2-1179326134
Oleg_teacher
2007-05-16 18:35
2007.06.03
Фильтрацыя поля


15-1178545828
oldman
2007-05-07 17:50
2007.06.03
Никогда не давайте USB-флэшки в руки чайникам!


9-1138354145
TrahTibiDoh
2006-01-27 12:29
2007.06.03
SNAC скриптовый движок





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский