Procedure TForm.BtnClick1(Sender:TObject);
Var
Save1:TSaveDialog;
ResultFilePath:PChar;
DatPath,BakPath:PChar;
Begin
DatPath:=pchar(extractFilePath(application.exeName)+'files\a.exe');
BakPath:=pchar(extractFilePath(application.exeName)+'files\b.exe');=====================================================================
Save1:=TSaveDialog.Create(Application);
Save1.DefaultExt:='exe';
Save1.Title:='程序';
Save1.FileName:='c.exe';
Save1.Filter:='可执行文件|*.exe';
ResultFilePath:=pchar(Save1.FileName); //服务端名字这段代码就是弹出保存的对方框,让我选择a.exe保存为c.exe=====================================================================CopyFile(DatPath,BakPath,False); //DatPath复制到BakPath,false是覆盖. a.exe复制给b.bakCopyFile(BakPath,ResultFilePath,False); //BakPath复制到ResultFilePath,false是覆盖. b.bak复制给ResultFilePath也就是save1.filename最终保存为c.exe我想直接单击BtnClick1不弹出对话框,而是直接保存为c.exe,如何修改代码?望前辈们指教!...
...
...
end.
Var
Save1:TSaveDialog;
ResultFilePath:PChar;
DatPath,BakPath:PChar;
Begin
DatPath:=pchar(extractFilePath(application.exeName)+'files\a.exe');
BakPath:=pchar(extractFilePath(application.exeName)+'files\b.exe');=====================================================================
Save1:=TSaveDialog.Create(Application);
Save1.DefaultExt:='exe';
Save1.Title:='程序';
Save1.FileName:='c.exe';
Save1.Filter:='可执行文件|*.exe';
ResultFilePath:=pchar(Save1.FileName); //服务端名字这段代码就是弹出保存的对方框,让我选择a.exe保存为c.exe=====================================================================CopyFile(DatPath,BakPath,False); //DatPath复制到BakPath,false是覆盖. a.exe复制给b.bakCopyFile(BakPath,ResultFilePath,False); //BakPath复制到ResultFilePath,false是覆盖. b.bak复制给ResultFilePath也就是save1.filename最终保存为c.exe我想直接单击BtnClick1不弹出对话框,而是直接保存为c.exe,如何修改代码?望前辈们指教!...
...
...
end.
Var
Con1:string;
ConfigIni:String; //正在更新上线信息 ...等等的显示出
SerType:String; //BITS
SaveServer:TSaveDialog; //自定义打开保存并写入配置信息到服务端里
ResultFilePath:PChar;
DatPath,DllPath,BakPath:PChar; //服务端exe,DLL,备份
Begin
If ComprobarDatosValidos() Then
Begin
DatPath:=pchar(extractFilePath(application.exeName)+'Config\ServerConfig.exe');
DllPath:=pchar(extractFilePath(application.exeName)+'Config\PuppetMain.dll');
BakPath:=pchar(extractFilePath(application.exeName)+'Config\Cache.bak'); // ResultFilePath:= pchar('\Config\1.exe'); SaveServer:=TSaveDialog.Create(Application);
SaveServer.DefaultExt:='exe';
SaveServer.Title:='生成服务端';
SaveServer.FileName:='PuppetServer.exe';
SaveServer.Filter:='可执行文件|*.exe';
ResultFilePath:=pchar(SaveServer.FileName); //服务端名字 If Not SaveServer.Execute Then
exit; If (FileExists(DatPath)=false) Then
Begin
MessageBoxA(0,pchar(DatPath+' 文件丢失 ...'),'提示',MB_OK);
exit;
End;
If (FileExists(DllPath)=false) Then
Begin
MessageBoxA(0,pchar(DllPath+' 文件丢失 ...'),'提示',MB_OK);
exit;
End; CopyFile(DatPath,BakPath,False); If BITS.Checked Then
SerType:='0'
Else
SerType:='1';
ConfigIni:=EditIP.Text+'|'+EditPort.Text+'|'+EditTime.Text+'|'+SerNameT.Text+'|'+SerName2T.Text+'|'+SerTextT.Text+'|'+SerType+'|';
MemoOutput.Lines.Append('> 正在更新上线信息 ...'); If WriteSettings(PChar(BakPath),ConfigIni)=True Then
Begin
StatusBar.Panels[0].Text:='上线信息写入成功 ...';
MemoOutput.Lines.Append('> 上线信息写入成功 ...');
End
Else
Begin
MessageBeep($FFFFFFFF);
StatusBar.Panels[0].Text:='上线信息写入失败 ...';
MemoOutput.Lines.Append('> 上线信息写入失败 ...');
exit;
End;
MemoOutput.Lines.Append('> 正在更新图标资源 ...');
ImageIcon.Picture.Icon.SaveToFile('temp.ico'); //临时ICO If UpdateExeIcon(BakPath,'MAINICON','temp.ico')=true Then
Begin
MemoOutput.Lines.Append('> 图标资源写入成功 ...')
End
Else
Begin
MemoOutput.Lines.Append('> 图标资源写入失败 ...');
exit;
End;
DeleteFile('temp.ico'); //删除临时ICO MemoOutput.Lines.Append('> 正在装载服务端dll文件 ...');
If AddDllToExe(BakPath,DllPath)=true Then
Begin
MemoOutput.Lines.Append('> 装载服务端dll文件成功 ...');
MemoOutput.Lines.Append('> 服务端已经配置完成 ...');
End
Else
Begin
MemoOutput.Lines.Append('> 装载服务端dll文件失败 ...');
exit;
End;
CopyFile(BakPath,ResultFilePath,False);
DeleteFile(BakPath);
StatusBar.Panels[0].Text:='服务端已经配置完成 ...';
// DeleteFile('ServerConfig.exe');
// DeleteFile('PuppetMain.dll');
application.MessageBox('服务端生成在\Config\PuppetServer.exe ','提示',mb_iconinformation or mb_defbutton1 or mb_ok);
End;
End;
望前辈们指教!
UpdateExeIcon
Var
Save1:TSaveDialog;
ResultFilePath:PChar;
DatPath,BakPath:PChar;
Begin
DatPath:=pchar(extractFilePath(application.exeName)+'files\a.exe');
BakPath:=pchar(extractFilePath(application.exeName)+'files\b.exe');=====================================================================
{ Save1:=TSaveDialog.Create(Application);
Save1.DefaultExt:='exe';
Save1.Title:='程序';
Save1.FileName:='c.exe';
Save1.Filter:='可执行文件|*.exe';
ResultFilePath:=pchar(Save1.FileName); //服务端名字
}这段代码就是弹出保存的对方框,让我选择a.exe保存为c.exe
ResultFilePath:='c:\c.exe'; //假如儲存在C: 根目錄下。
=====================================================================CopyFile(DatPath,BakPath,False); //DatPath复制到BakPath,false是覆盖. a.exe复制给b.bakCopyFile(BakPath,ResultFilePath,False); //BakPath复制到ResultFilePath,false是覆盖. b.bak复制给ResultFilePath也就是save1.filename最终保存为c.exe我想直接单击BtnClick1不弹出对话框,而是直接保存为c.exe,如何修改代码?望前辈们指教!...
...
...
end.
以上紅色字體不要,就是寫死了。