Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавить ссылку в меню файла "отправить" [D7, XP]


DJ_UZer ©   (2008-05-26 21:05:00) 

Всем привет! Подскажите пожалуйста, как можно добавить (например при нажатии кнопки) в меню фала во вкладке "отправить" ссылку на свою программу..


{RASkov}   (2008-05-28 00:32:00) [1]

В примере по ссылке
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1135&mode=print
заменить строку. т.е. выделенное
SHGetSpecialFolderPath(0, DesktopFolder, CSIDL_SENDTO, False);

Вызов примерно так:
CreateShortcut(ParamStr(0), ParamStr(0), 'MyProg');
Можно [18] использовать, "доработав" его до получения пути к папке SendTo...
Например можно так:
CreateLink(ParamStr(0), GetEnvironmentVariable('USERPROFILE')+'\SendTo\MyLink.lnk', 'My Super-Puper PO', '');
Но лучше воспользоваться SHGetSpecialFolderPath....


йцукен   (2008-05-27 16:34:00) [2]

procedure CreateLink(const PathObj, PathLink, Desc, Param: string);
 var
   IObject: IUnknown;
   SLink: IShellLink;
   PFile: IPersistFile;
 begin
   IObject := CreateComObject(CLSID_ShellLink);
   SLink := IObject as IShellLink;
   PFile := IObject as IPersistFile;
   with SLink do begin
     SetArguments(PChar(Param));
     SetDescription(PChar(Desc));
     SetPath(PChar(PathObj));
   end;
   PFile.Save(PWChar(WideString(PathLink)), FALSE);
 end;


DJ_UZer   (2008-05-27 15:36:00) [3]

{RASkov}, а программно, не подскажешь, как создать ярлыв данной папке?


DJ_UZer   (2008-05-27 00:16:00) [4]

Всем спасибо!)


{RASkov}   (2008-05-26 22:26:00) [5]

> [12] DJ_UZer ©   (26.05.08 22:12)

Вставь это %USERPROFILE%\SendToв адресную строку(или Win+R "Выполнить") и нажми энтер
В открывшееся окно папки добавь ярлык на свою программу.


TIF   (2008-05-26 22:18:00) [6]

Удалено модератором


TIF   (2008-05-26 22:17:00) [7]

> {RASkov}, извеняюсь, но подробнее можно?

Создаёшь ярлык своей программы в папке SendTo

В Vista, например, она располагается по адресу
%LocalAppData%\Roaming\Microsoft\Windows\SendTo

(C:\Users\Имя_пользователя\AppData\Roaming\Microsoft\Windows\SendTo)

В XP тебе выше сказали путь (см. [10]). Сразу после создния ярлыка в этой папке появится соответствующий пункт в разделе "Отправить >" меню файла...


DJ_UZer   (2008-05-26 22:12:00) [8]

{RASkov}, извеняюсь, но подробнее можно?


{RASkov}   (2008-05-26 22:03:00) [9]

> Доб авляешь
:)


{RASkov}   (2008-05-26 22:01:00) [10]

> [0] DJ_UZer ©   (26.05.08 21:05)

Добовляешь ярлык на свою программу в папку %USERPROFILE%\SendTo


TIF   (2008-05-26 21:59:00) [11]

Удалено модератором


Palladin   (2008-05-26 21:52:00) [12]

просшу просчения "добит ься" :)

а то понабегут всякие словари...


Palladin   (2008-05-26 21:52:00) [13]

воистину, руками можно очень много добится... )


Рустам Ганеев   (2008-05-26 21:49:00) [14]

а зачем через реестр? можно руками... как в висте не знаю, но в хр в папке
C:\Documents and Settings\*user*\SendTo как раз ссылки того, что ему нужно...(*user* - имя пользователя).туда нужно закинуть линк его проги. так что тут работа с shellapi!


TIF   (2008-05-26 21:26:00) [15]

> не в тему вопрос, но: а при чем тут делфи?
Автор хочет программно добавлять это %) Так по идее и правильно... Может быть, реестр зато изучит, кто знает


Рустам Ганеев   (2008-05-26 21:23:00) [16]

ааааааааа.... терь понял..
не в тему вопрос, но: а при чем тут делфи?


TIF   (2008-05-26 21:21:00) [17]

> Рустам Ганеев   (26.05.08 21:16) [2]
Нет, тут имеется в виду щелчок по файлу правой кнопкой. Пункт "Отправить >"в появившемся меню

Кстати, кроме реестра эта штука настраивается и через специальную системную папку... SendTo (в XP, да вроде даже и в Висте)


Рустам Ганеев   (2008-05-26 21:16:00) [18]

в меня фала?я не совсем понял вас...
хотя если я правильно понял, то
procedure TForm1.Button1Click(Sender: TObject);
begin
if opendialog1.execute then
 edit1.text:=opendialog1.filename;
end;


TIF   (2008-05-26 21:15:00) [19]

Удалено модератором


Наверх

Титульная страница Поиск, карта сайта Написать письмо