PDA

View Full Version : چگونگي اجراي يك فايل از روي سي دي



KajDom
پنج شنبه 01 مهر 1389, 19:21 عصر
با سلام خدمت دوستان عزيز
من يه مشكلي دارم و اميدوارم كه دوستان در اين زمينه اطلاعي داشته باشند
چطور مي توان توسط يك فايل اجرايي كه در هارد است ، يه فايل اجرايي درون سي ي رو صدا بزنه مثلا اونو ران كنه ممنون مي شم نمونه كدي رو بزارين البته اين نكته رو متذكر بشم ما نمي دانيم كه سي دي درون چه درايوي است به عبارت ساده تر ما از نام درايو CD-Rom خود مطلع نيستيم .

Felony
جمعه 02 مهر 1389, 05:00 صبح
عبارت ShellExecute رو جست و جو کنید ، برای گرفتن لیست درایوهای CD - Rom هم میتونید از توابع GetLogicalDrive و GetDriveType استفاده کنید .

MohsenB
دوشنبه 05 مهر 1389, 01:49 صبح
از این کد می تونید استفاده کنید
البته خودتون بجای WinExec از ShellExceute استفاده کنید :

برا تابع شما باید آدرس فایل رو درون درایوی که می خواید بدید بدون اسم درایو مثلا

Setup\install.exe


function RunFileFromCD(adrFile :string): Boolean;
var
Drive: Char;
DriveLetter: String[4];
adr :string;
begin
Result:= False;
for Drive := 'C' to 'Z' do
begin
DriveLetter := Drive + ':\'; // , DRIVE_FIXED, DRIVE_REMOTE, DRIVE_RAMDISK
if (GetDriveType(PChar(Drive + ':\'))=DRIVE_CDROM)then begin
adr:= DriveLetter + adrFile;
if FileExists(adr) then begin
WinExec(PAnsiChar(adr), 1);
Result:= True;
Break;
end;
end;
end;
end;