[Delphi]Tworzenie skrótów programu w instalatorze

0

zrobilem programik na podstawie tego skryptu http://4programmers.net/article.php?id=55 i.... skrypt nie dziala tzn. niezaleznie od tego gdzie chce zrobic skrót (pulpit, pasek start) skrót zawsze sie tworzy w folderze z programem (sprawdzane na Win XP i Win Me) moze dziala to tylko na 98??

dzieki za jakiekolwiek odpowiedzi

0

dam ci źródełko programu który wykorzystuje ShellLink:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, FileCtrl, ShlObj, ActiveX, ComObj;

type
  TForm1 = class(TForm)
    Button1: TButton;
    OpenDialog1: TOpenDialog;
    Button2: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  List: TStringList;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  if Assigned(List) then
    List.Free;
  List:= TStringList.Create;
  If OpenDialog1.Execute then
      List.LoadFromFile(OpenDialog1.FileName);
  For I:=List.Count-1 downto 0 do
    begin
      if Pos('#EXT',List.Strings[I])<>0 then
        List.Delete(I);
    end;
  Label1.Caption:='Utworuff: '+IntToStr(List.Count);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  dir: string;
  MyObject:IUnknown;
  MySLink:IShellLink;
  MyPFile:IPersistFile;
  I: Integer;
begin
  if SelectDirectory('Chose GTA 3/Cice City mp3 folder','',dir) then
    begin
      For i:=0 to List.Count-1 do
        begin
          MyObject:=CreateComObject(CLSID_ShellLink);
          MySLink:=MyObject as IShellLink;
          MyPFile:=MyObject as IPersistFile;
          MySLink.SetPath(PChar(List.Strings[I]));
          MyPFile.Save(PWideChar(WideString(Dir+'\#'+FormatFloat('0000',I+1)+' '+ExtractFileName(List.Strings[I])+'.lnk')), False);
        end;
      Application.MessageBox('Done','Done', MB_OK);
    end;
end;

end.

Działa na 100% wystarczy pokominować z pidsami, a baz kombinowania z rejestrem wyciągniesz wszystkie potrzebne foldery (było to w faq!)

0

mam jeszcze jedno pytanko jak mozna znalezc sciezke do pulpitu??

tzn chce wkleic na pulpit skrot ale nie znam sciezki pulpitu jak ją znalezc???

w Win XP jest to c:\Document and settings\Nazwa usera\Pulpit\

nowiec trzeba jakos bobrac nazwe usera ale jak?

getusername+F1

0

dzieki za hiperszybką odpowiedz :)

0

Ostatnie pytanko jakie rozszerzenie ma skrot ??

0

Ostatnie pytanko jakie rozszerzenie ma skrot ??

.lnk od link

1 użytkowników online, w tym zalogowanych: 0, gości: 1