Rt
谢谢

解决方案 »

  1.   

    用com方法,,,DDE也可以,,你试试,查查资料,,挺多的,
      

  2.   

    uses
      ShlObj, ActiveX, ComObj;function SetShellLink(mPath: string; mWorkingDirectory: string;
      mFileName: WideString): Boolean;
    var
      vShellLink: IShellLink;
      vPersistFile: IPersistFile;
      vUnKnown: IUnKnown;
    begin
      Result := True;
      try
        vUnKnown := CreateComObject(CLSID_ShellLink);
        vShellLink := vUnKnown as IShellLink;
        vPersistFile := vUnKnown as IPersistFile;
        vShellLink.SetPath(PChar(mPath));
        vShellLink.SetWorkingDirectory(PChar(mWorkingDirectory));
        vPersistFile.Save(PWChar(mFileName), False);
      except
        Result := False;
      end;
    end; { SetShellLink }procedure TForm1.Button1Click(Sender: TObject);
    begin
      SetShellLink(ParamStr(0), ExtractFilePath(ParamStr(0)), 'C:\Test.lnk');
    end;
      

  3.   

    你可以参看以下代码
    unit Unit1; 
    interface
     uses 
        Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,     Dialogs, StdCtrls;
     type 
    TForm1 = class(TForm) 
      Button1: TButton;
       procedure Button1Click(Sender: TObject);
     private 
      { Private declarations }
     public 
      { Public declarations }
     end; 
    var
       Form1: TForm1; 
    implementation 
    {$R *.DFM} 
    uses ShlObj, ActiveX, ComObj, Registry; 
    procedure TForm1.Button1Click(Sender: TObject); 
    var
       MyObject : IUnknown; 
       MySLink : IShellLink;
        MyPFile : IPersistFile;
         FileName : String; 
       Directory : String; 
       WFileName : WideString;
         MyReg : TRegIniFile; 
    begin
       MyObject := CreateComObject(CLSID_ShellLink);
       MySLink := MyObject as IShellLink;
       MyPFile := MyObject as IPersistFile;
       FileName := 'NOTEPAD.EXE';
     with MySLink do
     begin 
       SetArguments('C:\AUTOEXEC.BAT'); 
       SetPath(PChar(FileName)); 
       SetWorkingDirectory(PChar(ExtractFilePath(FileName)));
     end;
     MyReg := TRegIniFile.Create( 'Software\MicroSoft\Windows\CurrentVersion\Explorer'); 
     Directory := MyReg.ReadString('Shell Folders','Desktop','');  Directory := MyReg.ReadString('Shell Folders','Start Menu','')+  CreateDir(Directory);
     WFileName := Directory+'\FooBar.lnk';
     MyPFile.Save(PWChar(WFileName),False);
     MyReg.Free;
     end;
     end.