Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Внизкак запустить файл, который присоединен в качестве рессурса? Найти похожие ветки
← →
MikeFW (2003-02-25 13:06) [0]помогите, пожалуйста
я в качестве рессурса разместил exe-файл в своей программе (c помощью {$R test.res})
test.res (TEST EXEFILE D:\TEST.EXE)
как мне теперь запустить этот файл по нажатию кнопки?
если можно то проилюстрируйте на коде.
← →
OlegM (2003-02-25 13:49) [1]VAR
s:STRING;
BEGIN
procedure TForm1.Button1Click(Sender: TObject);
ExtractRes("EXEFILE", "EXE", "TEST.EXE");
S:=ExtractFilePath(Application.ExeName);
S:=S+"HEXPERT.exe";
WinExec(pCHAR(S), SW_SHOW)
end;
← →
OlegM (2003-02-25 13:50) [2]Блин, в 7 строке вместо HEXPERT.EXE напиши TEST.exe
← →
MikeFW (2003-02-25 14:35) [3]что-то я несовсем разобрался в вашем коде,
вот тут я привожу полный код программы, которая не работает:
подскажите, пожалуйста, где я ошибся
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Pass: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
S: String;
implementation
{$R *.dfm}
{$R test.res}
procedure ExtractRes(ResType, ResName, ResNewName: String);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, ResName, Pchar(ResType));
//Res.SaveToFile(ResNewName);
//Res.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Pass.Text = "123" then begin
ExtractRes("EXEFILE", "WINSER", "WINSER.EXE");
S := ExtractFilePath(Application.ExeName);
S := S + "WINSER.EXE";
WinExec(Pchar(S), SW_SHOW);
Form1.Close;
end
else
ShowMessage("Пароль указан неверно");
end;
end.
← →
OlegM (2003-02-25 14:40) [4]А где ошибку выдает?
← →
MikeFW (2003-02-25 14:51) [5]ошибку не выдает,
просто файл не запускается
← →
OlegM (2003-02-25 14:54) [6]А сам файлик то выдергивает из ресурса, посмотри если да то почему не работает Winexec хрен знает.
P.S. у меня робит
← →
MikeFW (2003-02-25 15:01) [7]вот смотри,
я убираю комментарии
procedure ExtractRes(ResType, ResName, ResNewName: String);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, ResName, Pchar(ResType));
Res.SaveToFile(ResNewName);
Res.Free;
end;
и файл ныдергивается из ресурса и копируется в каталог
но мне надо его не копировать, а просто запускать
может ты напишешь весь код своей проги,
а то честно я не совсем тот кусок понял (думаю в этом и ошибка кроется)
что же я не понял:
// какая функция это?
VAR
s:STRING;
BEGIN
// почему здесь идет Button1Click?
procedure TForm1.Button1Click(Sender: TObject);
// как выглядит у тебя данная функция?
ExtractRes("EXEFILE", "EXE", "TEST.EXE");
S:=ExtractFilePath(Application.ExeName);
S:=S+"HEXPERT.exe";
WinExec(pCHAR(S), SW_SHOW)
end;
← →
MikeFW (2003-02-25 15:51) [8]procedure ExtractRes(ResType, ResName, ResNewName: String);
var
Res: TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, ResName, Pchar(ResType));
Res.SaveToFile(ResNewName);
Res.Free;
end;
а может есть такая процедура, которая запускает файл, как просиходит копирование в Res.SaveToFile(ResNewName);
?
← →
MikeFW (2003-02-25 17:03) [9]> OlegM ©
твой код работает только при программе в каталоге, но мне какраз нужно чтобы она запускалась из ресурса
← →
OlegM (2003-02-26 06:20) [10]Как запустить из ресурса я незнаю, как то пытался зделать тточно такое-же но неполучилось, пришел к тому что надо после запуска удалять файл, я там правда Flash использовал и короче после выдергивания ролика из ресурса, запускал и затем сразу удалял его
Пытался просмотреть будет ли видно файл ролика в Explorere ничего не увидел. Но не знаю прокатит ли это с EXE
procedure TForm1.FormCreate(Sender: TObject);
var
S:String;
begin
ExtractRes("ShockwaveFlashObjects_TLB", "FLASHM", "FLASH.swf");
S:=ExtractFilePath(Application.ExeName);
S:=S+"Flash.swf";
ShockWaveFlash1.Movie:=S;
ShockWaveFlash1.Play;
DeleteFile(S);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.03.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c