小问题,请帮帮我(在线等)解决就给分 我想检查软驱是否有盘,如果有的话就格式化(复制系统文件的那种)。不过不要显示msdos窗口呀!不显示也行!这段程序怎么写呀!请给出代码? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ///检查驱动器中是否有磁盘function DiskInDrive(const Drive: char): Boolean; var DrvNum: byte; EMode: Word; begin result := false; DrvNum := ord(Drive); if DrvNum >= ord('a') then dec(DrvNum,$20); EMode := SetErrorMode(SEM_FAILCRITICALERRORS); try if DiskSize(DrvNum-$40) <> -1 then result := true else messagebeep(0); finally SetErrorMode(EMode); end; end;// disksize(1)=-1 表示软驱A中没有软盘//格式化如下:const SHFMT_ID_DEFAULT = $FFFF; // Formating options SHFMT_OPT_QUICKFORMAT = $0000; SHFMT_OPT_FULL = $0001; SHFMT_OPT_SYSONLY = $0002; // Error codes SHFMT_ERROR = $FFFFFFFF; SHFMT_CANCEL = $FFFFFFFE; SHFMT_NOFORMAT = $FFFFFFFD; function SHFormatDrive(Handle: HWND; Drive, ID, Options: Word): LongInt; stdcall; external 'shell32.dll' name 'SHFormatDrive'//格式化示例procedure TForm1.btnFormatDiskClick(Sender: TObject);var retCode: LongInt;begin retCode:=SHFormatDrive(Handle, 0, SHFMT_ID_DEFAULT,SHFMT_OPT_QUICKFORMAT); if retCode < 0 then ShowMessage('Could not format drive');end;//也可以用下面的方法调用:procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Application.Handle, PChar('Open'), PChar('C:\Windows\Rundll32.exe'), PChar('Shell32.dll,SHFormatDrive'), PChar('C:\Windows'), SW_SHOWNORMAL); end; 检查软驱是否有盘用DiskInDrive函数试试格式化磁盘用SHFormatDrivefunction SHFormatDrive(hWnd : HWND;Drive, fmtID, Options : WORD) : longint; stdcall; external 'shell32.dll'; 可以使用VB中的FSOFileSystemObject 对象。使用的方法var fso,d: variant; i: integer; name: string;beginfso := CreateoleObject('Scripting.FileSystemObject');name := 'A:'; d := fso.GetDrive(name); if (d.drivetype =1) and( d.isready) then begin //有软盘你要干的事情 winexec(pchar('format ' + name) ,SW_HIDE); end;end; 請告訴我 如何在 csdn 上提問 Delphi中的报表打印问题,急! 初学delphi,请问怎样实现多行打印数据报表?谢谢! ******self的使用问题****** 使用WebBrowser做浏览器遇到iframe的问题 小弟要编一个实现两个互联网中的电脑互联,类似P2P软件形式,请大家给点启发! TDBGrid显示数据时,怎样不显示[Memo],而显示其内容?急! 求助高手!ADO如何支持多线程? 内存释放问题,高手进! 各位高手,帮帮忙吧!!! 求助我写爬虫被发现导致浏览器也上不了怎么破 请问Windows XP“发现新硬件”那种冒泡式提示怎样做? 市面上的D版Delphi7说是简体中文版,是真的么?还是英文的么?
function DiskInDrive(const Drive: char): Boolean;
var
DrvNum: byte;
EMode: Word;
begin
result := false;
DrvNum := ord(Drive);
if DrvNum >= ord('a') then dec(DrvNum,$20);
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
try
if DiskSize(DrvNum-$40) <> -1 then result := true
else messagebeep(0);
finally
SetErrorMode(EMode);
end;
end;// disksize(1)=-1 表示软驱A中没有软盘
//格式化如下:const
SHFMT_ID_DEFAULT = $FFFF;
// Formating options
SHFMT_OPT_QUICKFORMAT = $0000;
SHFMT_OPT_FULL = $0001;
SHFMT_OPT_SYSONLY = $0002;
// Error codes
SHFMT_ERROR = $FFFFFFFF;
SHFMT_CANCEL = $FFFFFFFE;
SHFMT_NOFORMAT = $FFFFFFFD; function SHFormatDrive(Handle: HWND; Drive, ID, Options: Word): LongInt;
stdcall; external 'shell32.dll' name 'SHFormatDrive'
//格式化示例
procedure TForm1.btnFormatDiskClick(Sender: TObject);
var
retCode: LongInt;
begin
retCode:=SHFormatDrive(Handle, 0, SHFMT_ID_DEFAULT,SHFMT_OPT_QUICKFORMAT);
if retCode < 0 then
ShowMessage('Could not format drive');
end;//也可以用下面的方法调用:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Application.Handle,
PChar('Open'),
PChar('C:\Windows\Rundll32.exe'),
PChar('Shell32.dll,SHFormatDrive'),
PChar('C:\Windows'),
SW_SHOWNORMAL);
end;
格式化磁盘用SHFormatDrive
function SHFormatDrive(hWnd : HWND;Drive, fmtID, Options : WORD) : longint; stdcall; external 'shell32.dll';
FileSystemObject 对象。使用的方法
var
fso,d: variant;
i: integer;
name: string;begin
fso := CreateoleObject('Scripting.FileSystemObject');
name := 'A:';
d := fso.GetDrive(name);
if (d.drivetype =1) and( d.isready) then
begin
//有软盘你要干的事情
winexec(pchar('format ' + name) ,SW_HIDE);
end;
end;