PDA

View Full Version : بستن CD ROM



ali_gtp
سه شنبه 07 آبان 1387, 11:54 صبح
سلام
مي خواستم ببينم راهي براي اينکه تشخيص بديم که در سي دي رام Open است يا نه، وجود داره يا نه؟

Pr0grammer
سه شنبه 07 آبان 1387, 12:45 عصر
امیدوارم این کارتون رو راه بندازه! :چشمک:

ali_gtp
سه شنبه 07 آبان 1387, 15:15 عصر
خيلي ممنون ولي من اينو نمي خواستم.
منظورم اينه که اگه خودمون با دست هم سي دي رام رو باز کرديم برنامه بتونه تشخيص بده که سي دي رام بازه يا بسته.

s.mostafa.rahmani
سه شنبه 07 آبان 1387, 16:46 عصر
function TForm1.DiskInDrive(Drive: Char): Boolean;
var
ErrorMode: word;
begin
{ make it upper case }
if Drive in ['a'..'z'] then Dec(Drive, $20);

{ make sure it's a letter }
if not (Drive in ['A'..'Z']) then
// begin
raise EConvertError.Create('نام درايو صحيح نيست.');
// ShowMsgPanel('نام درايو صحيح نيست.');
// Result := False;
// Exit;
// end;

{ turn off critical errors }
ErrorMode := SetErrorMode(SEM_FailCriticalErrors);
try
{ drive 1 = a, 2 = b, 3 = c, etc. }
if DiskSize(Ord(Drive) - $40) = -1 then
Result := False
else
Result := True;
finally
{ restore old error mode }
SetErrorMode(ErrorMode);
end;
end;

اين كد مي‌تونه تشخيص بده كه درايو آماده استفاده است يا نه؟
شايد جواب سؤالتون باشه