Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.03.2007, 01:17
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание Ярлык!

Как создать ярлык выбронного *.ехе файла в указанном месте? Исходник пожалуста. Заранее благодарю
Ответить с цитированием
  #2  
Старый 29.03.2007, 12:34
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Код:
 // процедура создания ярлыков
procedure CreateLink(sPathObj, sPathLink, sDesc: string);
var
 IObject: IUnknown;
 SLink: IShellLink;
 PFile: IPersistFile;
 
begin
 
 // создаем COM объект "IShellLink"
 IObject := CreateComObject(CLSID_ShellLink);
  SLink := IObject as IShellLink;
 PFile := IObject as IPersistFile;
 
 // заполняем его данными
  with SLink do
  begin
    //SetArguments(PChar(Param));
    SetDescription(PChar(sDesc));
    SetPath(PChar(sPathObj));
 end;
 
 // сохраняем по указанному пути
  PFile.Save(PWChar(WideString(sPathLink)), FALSE);
end;
 
//...
//...
begin
//...
  CreateLink('c:\program.exe','путь к ярлыку','подсказка');
//..
end;
 
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #3  
Старый 31.03.2007, 23:43
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Не получается - может у кого нить есть исходник проги для создании ярлыков?
Ответить с цитированием
  #4  
Старый 03.04.2007, 13:46
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Дык а что не получается-то? Я могу исходник написать, но я юзал именно эту процедуру и все работало...
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #5  
Старый 03.04.2007, 21:15
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Тогда если можно то скинь исходник или на мыло(electronic_arts@rambler.ru) или сюда как тебе угодно
Ответить с цитированием
  #6  
Старый 05.04.2007, 14:31
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, XPMan, ShellApi, ShlObj, ComObj, ActiveX;
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure CreateLink(sPathObj, sPathLink, sDesc: 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(sDesc));
    SetPath(PChar(sPathObj));
 end;
  PFile.Save(PWChar(WideString(sPathLink)), FALSE);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 CreateLink(Application.ExeName,ExtractFilePath(Application.ExeName) + '1.lnk','Description');
end;
end.
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #7  
Старый 06.04.2007, 21:19
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Все работает супер но
CreateLink(Application.ExeName,ExtractFilePath(App lication.ExeName) + '1.lnk','Description');
а как сделать что бы оно взяла путь к ЕХЕ файлу с edit1.text-a
Ответить с цитированием
  #8  
Старый 11.04.2007, 01:20
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
Восклицание

Попробывал сделать так но никаких ощибок не выдает но и ярлыков тож не создает
CreateLink(Edit1.text,ExtractFilePath(edit1.text) + '1.lnk','Description');
Ответить с цитированием
  #9  
Старый 12.04.2007, 13:34
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Выложи свой исходник, я его качну и поправлю все, а потом тебе отдам с пояснениями, почему у тебя там чего-то не работало.
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter