![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вызвать диалог
DVM © (2003-05-15 13:32:00)Случаем никто не напомнит?
DVM (2003-05-15 15:46:00) [1]Спасибо.
DeadMeat (2003-05-15 15:22:00) [2]Тормози, ща пасмарю...
Пасмарел...
procedure TForm1.Button1Click(Sender: TObject);
type NewLinkHereProc = procedure (HWND : THandle; HInstance : THandle; CmdLine : Pchar; cmdShow : integer); stdcall;
var NewLinkHere:NewLinkHereProc;
AppWizHandle:THandle;
newlnk:string;
tmp:thandle;
begin
newlnk:="c:\123"; {Путь, где создавать ярлык, расширение не ставить...}
tmp:=createfile (pchar (newlnk),GENERIC_READ or GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
closehandle (tmp);
AppWizHandle:=Windows.LoadLibrary("appwiz.cpl");
NewLinkHere:=GetProcAddress(AppWizHandle, PChar("NewLinkHereA"));
NewLinkHere(handle,hinstance,PChar(newlnk),sw_show);
if fileexists (newlnk+".lnk")=false then deletefile (newlnk);
end;
Сразу сделаю 2-две оговорки:
1) Писал на скорую руку, прямо щас...
2) Мне не известен способ получения результата диалога, поэтому пришлось извратиться...