Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Allex   (2005-06-10 14:40) [0]

В Explorer`е при нажатии правой кнопкой на файл, папку, появляется меню (открыть, ... , вырезать, копировать, вставить, ..., свойства), как мне внедрится туда.
т.е. User нажимет правой кнопкой на папку, например, там выбирает отправить по сети ... далее пользователя (кому отправить)


 
Poirot ©   (2005-06-10 15:39) [1]

ShellExtensions см статью на RSDN или есть пример в Тейксера \ Пачеко.


 
nikkie ©   (2005-06-10 23:04) [2]

$Delphi/Demos/ActiveX/ShellExt


 
PixNoFix   (2005-06-11 21:28) [3]

Ребята! С этими меню чего-то непонятки какие-то.. во всё разобрался, всё нашёл, исправил, переделал и вуаля - заработало! Менюшки теперь добавляю как семечки! Вопрос в другом!

if (DragQueryFile(StgMedium.hGlobal, $FFFFFFFF, nil, 0) > 1) then begin
DragQueryFile(StgMedium.hGlobal, 0, FFileName, SizeOf FFileName));
   Result := NOERROR;
 end


Есть вот этот код! Как видно он определяет что если выбран один файл, то запоминаем его имя и пошли с ним творить чудеса!

Но что делать если файлов много??? как тут быть? как мне построить работу с ними или как минимум поместить в TMemo


 
PixNoFix   (2005-06-11 21:50) [4]

Извиняюсь за неточность

if (DragQueryFile(StgMedium.hGlobal, $FFFFFFFF, nil, 0) = 1) then begin
DragQueryFile(StgMedium.hGlobal, 0, FFileName, SizeOf FFileName));
  Result := NOERROR;
end


 
Ученик   (2005-06-11 22:11) [5]

Видимо надо менять второй параметр DragQueryFile



Syntax

UINT DragQueryFile(          HDROP hDrop,
   UINT iFile,
   LPTSTR lpszFile,
   UINT cch
);
Parameters

hDrop
Identifier of the structure containing the file names of the dropped files.
iFile
Index of the file to query. If the value of the iFile parameter is 0xFFFFFFFF, DragQueryFile returns a count of the files dropped. If the value of the iFile parameter is between zero and the total number of files dropped, DragQueryFile copies the file name with the corresponding value to the buffer pointed to by the lpszFile parameter.
lpszFile
Address of a buffer to receive the file name of a dropped file when the function returns. This file name is a null-terminated string. If this parameter is NULL, DragQueryFile returns the required size, in characters, of the buffer.
cch
Size, in characters, of the lpszFile buffer.



 
Экспериментатор   (2005-06-13 12:49) [6]

А для чего это нужно?


 
Romick   (2005-06-15 10:34) [7]

Кароч START=>RUN=>regedit.
HKEY_CLASSES_ROOT\*\SHELL\, создаеш там новый раздел (называй как хош), в нем созд. подраздел command, в строковом параметре "Default"("По умолчанию")  пишеш: "C:\......\имя_твоей_проги.exe %1".
В результате в меню для кажд. файла добавится пунктик, при выборе которого запустится твоя прога.
Параметром командной строки твоей проге передастся путь к данному файлу, прочтеш его (ParamStr(1)) и отправляй куда угодно.
Аналогично :
Папки - HKEY_CLASSES_ROOT\FOLDER\SHELL\
Диски - HKEY_CLASSES_ROOT\DRIVE\SHELL\

А выбрать кому/куда можно уже в твоей проге :)

Если помогло обязательно намыль !



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
4-1118688330
Суслик
2005-06-13 22:45
2005.08.14
Переменная окружения Path


4-1118683551
ZSergey
2005-06-13 21:25
2005.08.14
Как перехватить запуск программы в проводнике?


3-1120456210
САШ
2005-07-04 09:50
2005.08.14
Вопрос по гриду!


1-1122415244
adf
2005-07-27 02:00
2005.08.14
Как можно использовать свой курсор в приложении ?


4-1118690640
S.T.O.R.M.
2005-06-13 23:24
2005.08.14
Com-port





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