Главная страница
    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.04 c
15-1178159036
Slider007
2007-05-03 06:23
2007.06.03
С днем рождения ! 3 мая


15-1178122069
ArtemESC
2007-05-02 20:07
2007.06.03
А как проверить, что это директория, а не файл...


11-1157936129
AndreyRus
2006-09-11 04:55
2007.06.03
Timer & Messages BUG !!!


2-1179333402
CFi
2007-05-16 20:36
2007.06.03
Проблема с запросом!!


4-1167030209
clickmaker
2006-12-25 10:03
2007.06.03
диалог с "SysDateTimePick32" не работает под самой первой win95





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