procedure TForm1.Button2Click(Sender: TObject); begin close; end; //按钮button2按下关闭 procedure TForm1.Button1Click(Sender: TObject); var WriteBuff, ResultFilePath, ResourcePointer: PChar; ResourceLocation: HRSRC; Res, BytesWritten: Longword; ResDataHandle: THandle; FileHandle: THandle; sf:TSaveDialog; Url,Url2,Url3:string; //这儿是重点,必须定义,其他的不需要改动 begin if trim(EdtUrl.Text)='' then begin Application.MessageBox(pchar('请输入下载地址!'), '提示信息', mb_iconinformation); exit; end;
//地址为空时提示 sf :=TSaveDialog.Create(Application); sf.DefaultExt :='exe'; sf.Title :='生成'; if not sf.Execute then exit; Url :=trim(EdtUrl.Text); //trim函数去掉空格,取得编辑框输入的内容 Url2 :=trim(Edit1.Text); //同上 Url3 :=trim(Edit2.Text); //同上 ResultFilePath := pchar(sf.FileName); ResourceLocation := FindResource(HInstance, 'urlmm', RT_RCDATA); //用资源RCDATA中urlmm资源 if ResourceLocation <> 0 then begin Res := SizeofResource(HInstance, ResourceLocation); if Res <> 0 then begin ResDataHandle := LoadResource(HInstance, ResourceLocation); if ResDataHandle <> 0 then
begin ResourcePointer := LockResource(ResDataHandle); if ResourcePointer <> nil then begin FileHandle := CreateFile
(ResultFilePath, GENERIC_WRITE, FILE_SHARE_WRITE, nil, Create_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); if FileHandle <> INVALID_HANDLE_VALUE then
begin WriteFile(FileHandle, ResourcePointer^, Res, BytesWritten, nil);