相关疑难解决方法(0)

如何使用Free Pascal调用物理连接的硬盘列表,或者,如果不这样,Delphi?

这个问题这一次,我问最近,但没有正确的细节......,最后这一次,我在自由帕斯卡论坛问具体....

任何人都可以向我提供指导,示例或某个地方的链接,解释如何使用Free Pascal调用物理连接的硬盘列表,或者,无论如何,Delphi,无论磁盘是否已由操作系统安装或不?我想要实现的屏幕截图中显示了一个示例(此屏幕截图中显示的是另一个软件产品).因此,拉出逻辑卷列表(C:\,E:\ etc)并不是我想要做的.如果磁盘有一个操作系统无法挂载的文件系统,我仍然希望看到列出的物理磁盘.

我强调C\C++\C夏普的例子很丰富,但不是我追求的.我主要需要Free Pascal示例,或者说,失败了,Delphi.

在此输入图像描述

delphi freepascal lazarus

10
推荐指数
1
解决办法
4083
查看次数

如何使用Delphi从USB存储设备读取原始块?

我正在处理包含专有文件系统的USB存储设备.因此,我需要读取这些设备的512字节块来实现此文件系统的查看器.

我该怎么办呢?使用Delphi有一些材料吗?

filesystems delphi usb

7
推荐指数
1
解决办法
4663
查看次数

Delphi - 使用DeviceIoControl传递IOCTL_DISK_GET_LENGTH_INFO来获取闪存介质物理大小(非分区)

好吧,这是其他几个问题的结果.看来我对这些建议做了一些错误,并且在使用建议的API获取媒体大小时,此时出现了错误.我的问题的新手我在物理磁盘级别工作,而不是在分区或文件系统的范围内.

我在做什么

我试图从第一个块到最后一个,启动记录分区空间和所有的闪存卡的大小.虽然我不需要它从卡片中转储信息,但我确实需要动态写作能力.我想能够说,尽管它的尺寸可能是多大,但是距离卡片的末端还有一个标记.有人建议我将IOCTL_DISK_GET_LENGTH_INFO传递给DeviceIoControl,起初我没有结果,但现在我终于从Windows 50收到错误了.

该项目的来源

这是主单元的pastebin代码(Delphi 2009) - http://clutchx2.pastebin.com/iMnq8kSx

这是应用程序源和可执行文件,其中包含一个表单,用于输出正在进行的状态 - http://www.mediafire.com/?js8e6ci8zrjq0de

它可能更容易使用下载,除非你只是在代码中寻找问题.我也会在这里粘贴代码.

unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmMain = class(TForm)
    edtDrive: TEdit;
    lblDrive: TLabel;
    btnMethod1: TButton;
    btnMethod2: TButton;
    lblSpace: TLabel;
    edtSpace: TEdit;
    lblFail: TLabel;
    edtFail: TEdit;
    lblError: TLabel;
    edtError: TEdit;
    procedure btnMethod1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TDiskExtent = record
    DiskNumber: Cardinal;
    StartingOffset: Int64;
    ExtentLength: Int64;
  end;
  DISK_EXTENT = TDiskExtent;
  PDiskExtent = …
Run Code Online (Sandbox Code Playgroud)

delphi pascal

3
推荐指数
1
解决办法
5576
查看次数

标签 统计

delphi ×3

filesystems ×1

freepascal ×1

lazarus ×1

pascal ×1

usb ×1