建快捷方式的Windows API函数?(50分)

  • 主题发起人 主题发起人 delphi_zm
  • 开始时间 开始时间
D

delphi_zm

Unregistered / Unconfirmed
GUEST, unregistred user!
建快捷方式的Windows API函数?(参数说明尽量详细)
 
//在桌面上建立快捷方式<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br>tmpObject : IUnknown;<br>tmpSLink : IShellLink;<br>tmpPFile : IPersistFile;<br>PIDL : PItemIDList;<br>StartupDirectory : array[0..MAX_PATH] of Char;<br>StartupFilename : String;<br>LinkFilename : WideString;<br>begin<br>StartupFilename := 'c:/windows/notepad.exe';<br>tmpObject := CreateComObject(CLSID_ShellLink);//创建建立快捷方式的外壳扩展<br>tmpSLink := tmpObject as IShellLink;//取得接口<br>tmpPFile := tmpObject as IPersistFile;//用来储存*.lnk文件的接口<br>tmpSLink.SetPath(pChar(StartupFilename));//设定notepad.exe所在路径<br>tmpSLink.SetWorkingDirectory(pChar(ExtractFilePath(StartupFilename)));//设定工作目录<br>SHGetSpecialFolderLocation(0,<br>CSIDL_DESKTOPDIRECTORY,<br>PIDL);//获得桌面的Itemidlist<br>SHGetPathFromIDList(PIDL,<br>StartupDirectory);//获得桌面路径<br>LinkFilename := StartupDirectory + '/MyNotepad.lnk';<br>tmpPFile.Save(pWChar(LinkFilename),FALSE);//保存*.lnk文件<br>end;
 
让人抢了先. :)<br>其实这类问题完全可以自己查Win32 Help解决.
 
又快又好,羡慕地我直掉口水。<br>
 
shellnotify()是在状态栏建立快捷方式
 
请注意:是建一个Dos程序的快捷方式,并设置其属性为运行完毕时关闭窗口!!!!
 
有什莫不一样吗??
 
接受答案了.
 
后退
顶部