X
تبلیغات
آموزش دلفی و پاسکال - چند تا سورس کد....
آموزش دلفی و پاسکال و دانلود ابزار لازم در دلفی
بدست آوردن تعداد فایل های موجود در سطل آشغال به همراه سایز آنها :

type
  
PSHQueryRBInfo = ^TSHQueryRBInfo;
  TSHQueryRBInfo = packed record
    
cbSize: DWORD;
    // Size of the structure, in bytes.
    // This member must be filled in prior to calling the function.

    
i64Size: Int64;
    // Total size of all the objects in the specified Recycle Bin, in bytes.
    
i64NumItems: Int64;
    // Total number of items in the specified Recycle Bin.
  
end;

const
  
shell32 = 'shell32.dll';

function SHQueryRecycleBin(szRootPath: PChar; SHQueryRBInfo: PSHQueryRBInfo): HResult;
  stdcallexternal shell32 Name 'SHQueryRecycleBinA';

function GetDllVersion(FileName: string): Integer;
var
  
InfoSize, Wnd: DWORD;
  VerBuf: Pointer;
  FI: PVSFixedFileInfo;
  VerSize: DWORD;
begin
  
Result   := 0;
  InfoSize := GetFileVersionInfoSize(PChar(FileName), Wnd);
  if InfoSize <> 0 then
  begin
    
GetMem(VerBuf, InfoSize);
    try
      if 
GetFileVersionInfo(PChar(FileName), Wnd, InfoSize, VerBuf) then
        if 
VerQueryValue(VerBuf, '\', Pointer(FI), VerSize) then
          
Result := FI.dwFileVersionMS;
    finally
      
FreeMem(VerBuf);
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  
DllVersion: integer;
  SHQueryRBInfo: TSHQueryRBInfo;
  r: HResult;
begin
  
DllVersion := GetDllVersion(PChar(shell32));
  if DllVersion >= $00040048 then
  begin
    
FillChar(SHQueryRBInfo, SizeOf(TSHQueryRBInfo), #0);
    SHQueryRBInfo.cbSize := SizeOf(TSHQueryRBInfo);
    R := SHQueryRecycleBin(nil, @SHQueryRBInfo);
    if r = s_OK then
    begin
      
label1.Caption := Format('Size:%d Items:%d',
        [SHQueryRBInfo.i64Size, SHQueryRBInfo.i64NumItems]);
    end
    else
      
label1.Caption := Format('Err:%x', [r]);
  end;
end;

{

The SHQueryRecycleBin API used in this method is
only available on systems with the latest shell32.dll installed with IE4 /
Active Desktop.


}

 

 

بدست آوردن نام Cpu و سرعت آن :

 

// this code will get the cpu identifier from the windows registry

uses
  
Registry;

function CPUname: string;
var
  
Reg: TRegistry;
begin
  
CPUname := '';
  Reg := TRegistry.Create;
  
try
    
Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('\Hardware\Description\System\CentralProcessor\0', False) 
then
      
CPUname := Reg.ReadString('Identifier');
  
finally
    
Reg.Free;
  end;
end;

// this code will get the cpu speed from the windows registry

uses
  
Registry;

function GetCpuSpeed: string;
var
  
Reg: TRegistry;
begin
  
Reg := TRegistry.Create;
  
try
    
Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKey('Hardware\Description\System\CentralProcessor\0', False) 
then
    begin
      
Result := IntToStr(Reg.ReadInteger('~MHz')) + ' MHz';
      Reg.CloseKey;
    end;
  
finally
    
Reg.Free;
  end;
end;

 

فرمت درایو :

// formating a floppy drive, harddisk, or another drive
// Eine Diskette, Harddisk oder ein anderes Laufwerk formatieren


{
  The SHFormatDrive API provides access to the Shell's format
  dialog box. This allows applications that want to format disks to bring
  up the same dialog box that the Shell uses for disk formatting.

}

const 
  
SHFMT_DRV_A = 0;
  SHFMT_DRV_B = 1;
  SHFMT_ID_DEFAULT = $FFFF;
  SHFMT_OPT_QUICKFORMAT = 0;
  SHFMT_OPT_FULLFORMAT = 1;
  SHFMT_OPT_SYSONLY = 2;
  SHFMT_ERROR = -1;
  SHFMT_CANCEL = -2;
  SHFMT_NOFORMAT = -3;

function SHFormatDrive(hWnd: HWND;
  Drive: Word;
  fmtID: Word;
  Options: Word): Longint
  stdcallexternal 'Shell32.dll' Name 'SHFormatDrive';


procedure TForm1.Button1Click(Sender: TObject);
var
  
FmtRes: Longint;
begin
  try
    
FmtRes := ShFormatDrive(Handle,
      SHFMT_DRV_A,
      SHFMT_ID_DEFAULT,
      SHFMT_OPT_QUICKFORMAT);
    case FmtRes 
of
      
SHFMT_ERROR: ShowMessage('Error formatting the drive');
      SHFMT_CANCEL: ShowMessage('User canceled formatting the drive');
      SHFMT_NOFORMAT: ShowMessage('No Format')
        
else
          
ShowMessage('Disk has been formatted!');
    end;
  
except
    
ShowMessage('Error Occured!');
  end;
end;


{
  Normally, if a diskette is not in the drive when SHFormatDrive is called,
  the system displays a critical error dialog box that asks the user
  to Abort, Retry, or Ignore.
  You can prevent the system from displaying this dialog box by calling
  the SetErrorMode API with SEM_FAILCRITICALERRORS.
}


var
  
EMode: Word;
begin
  
EMode := SetErrorMode(SEM_FAILCRITICALERRORS);

  // ShFormatDrive Code....
  
SetErrorMode(EMode);
end;

+ نوشته شده در  چهارشنبه 1389/05/06ساعت 11:56  توسط مهدی اعترافي   |