mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:36:11 +00:00
- improve drive property dialog a bit
svn path=/trunk/; revision=29349
This commit is contained in:
parent
fb4bacbb5f
commit
2ec6c16001
3 changed files with 115 additions and 4 deletions
|
@ -20,7 +20,7 @@
|
|||
|
||||
#include "config.h"
|
||||
#include "wine/port.h"
|
||||
|
||||
#define YDEBUG
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
@ -40,9 +40,86 @@
|
|||
#include "shresdef.h"
|
||||
#include "undocshell.h"
|
||||
#include <prsht.h>
|
||||
#include <initguid.h>
|
||||
#include <devguid.h>
|
||||
#include <winioctl.h>
|
||||
|
||||
typedef enum
|
||||
{
|
||||
HWPD_STANDARDLIST = 0,
|
||||
HWPD_LARGELIST,
|
||||
HWPD_MAX = HWPD_LARGELIST
|
||||
} HWPAGE_DISPLAYMODE, *PHWPAGE_DISPLAYMODE;
|
||||
|
||||
HWND WINAPI
|
||||
DeviceCreateHardwarePageEx(HWND hWndParent,
|
||||
LPGUID lpGuids,
|
||||
UINT uNumberOfGuids,
|
||||
HWPAGE_DISPLAYMODE DisplayMode);
|
||||
|
||||
#define DRIVE_PROPERTY_PAGES (3)
|
||||
|
||||
static
|
||||
void
|
||||
InitializeGeneralDriveDialog(HWND hwndDlg, WCHAR * szDrive)
|
||||
{
|
||||
WCHAR szVolumeName[MAX_PATH+1] = {0};
|
||||
DWORD MaxComponentLength = 0;
|
||||
DWORD FileSystemFlags = 0;
|
||||
WCHAR FileSystemName[MAX_PATH+1] = {0};
|
||||
BOOL ret;
|
||||
UINT DriveType;
|
||||
ULARGE_INTEGER FreeBytesAvailable;
|
||||
ULARGE_INTEGER TotalNumberOfBytes;
|
||||
ULARGE_INTEGER TotalNumberOfFreeBytes;
|
||||
|
||||
ret = GetVolumeInformationW(szDrive, szVolumeName, MAX_PATH+1, NULL, &MaxComponentLength, &FileSystemFlags, FileSystemName, MAX_PATH+1);
|
||||
if (ret)
|
||||
{
|
||||
/* set volume label */
|
||||
SendDlgItemMessageW(hwndDlg, 14001, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szVolumeName);
|
||||
|
||||
/* set filesystem type */
|
||||
SendDlgItemMessageW(hwndDlg, 14003, WM_SETTEXT, (WPARAM)NULL, (LPARAM)FileSystemName);
|
||||
|
||||
}
|
||||
|
||||
DriveType = GetDriveTypeW(szDrive);
|
||||
if (DriveType == DRIVE_FIXED)
|
||||
{
|
||||
if(GetDiskFreeSpaceExW(szDrive, &FreeBytesAvailable, &TotalNumberOfBytes, &TotalNumberOfFreeBytes))
|
||||
{
|
||||
WCHAR szResult[128];
|
||||
HANDLE hVolume;
|
||||
DWORD BytesReturned = 0;
|
||||
GET_LENGTH_INFORMATION LengthInformation;
|
||||
if (StrFormatByteSizeW(TotalNumberOfBytes.QuadPart - FreeBytesAvailable.QuadPart, szResult, sizeof(szResult) / sizeof(WCHAR)))
|
||||
SendDlgItemMessageW(hwndDlg, 14004, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szResult);
|
||||
|
||||
if (StrFormatByteSizeW(FreeBytesAvailable.QuadPart, szResult, sizeof(szResult) / sizeof(WCHAR)))
|
||||
SendDlgItemMessageW(hwndDlg, 14006, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szResult);
|
||||
#if 0
|
||||
sprintfW(szResult, L"\\\\.\\%c:", towupper(szDrive[0]));
|
||||
hVolume = CreateFileW(szResult, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
|
||||
if (hVolume != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
RtlZeroMemory(&LengthInformation, sizeof(GET_LENGTH_INFORMATION));
|
||||
ret = DeviceIoControl(hVolume, IOCTL_DISK_GET_LENGTH_INFO, NULL, 0, (LPVOID)&LengthInformation, sizeof(GET_LENGTH_INFORMATION), &BytesReturned, NULL);
|
||||
if (ret && StrFormatByteSizeW(LengthInformation.Length.QuadPart, szResult, sizeof(szResult) / sizeof(WCHAR)))
|
||||
SendDlgItemMessageW(hwndDlg, 14008, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szResult);
|
||||
|
||||
CloseHandle(hVolume);
|
||||
}
|
||||
TRACE("szResult %s hVOlume %p ret %d LengthInformation %ul Bytesreturned %d\n", debugstr_w(szResult), hVolume, ret, LengthInformation.Length.QuadPart, BytesReturned);
|
||||
#else
|
||||
if (ret && StrFormatByteSizeW(TotalNumberOfBytes.QuadPart, szResult, sizeof(szResult) / sizeof(WCHAR)))
|
||||
SendDlgItemMessageW(hwndDlg, 14008, WM_SETTEXT, (WPARAM)NULL, (LPARAM)szResult);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INT_PTR
|
||||
CALLBACK
|
||||
DriveGeneralDlg(
|
||||
|
@ -52,7 +129,21 @@ DriveGeneralDlg(
|
|||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
LPPROPSHEETPAGEW ppsp;
|
||||
|
||||
WCHAR * lpstr;
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
ppsp = (LPPROPSHEETPAGEW)lParam;
|
||||
if (ppsp == NULL)
|
||||
break;
|
||||
TRACE("WM_INITDIALOG hwnd %p lParam %p ppsplParam %S\n",hwndDlg, lParam, ppsp->lParam);
|
||||
|
||||
lpstr = (WCHAR *)ppsp->lParam;
|
||||
InitializeGeneralDriveDialog(hwndDlg, lpstr);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
return FALSE;
|
||||
|
@ -80,9 +171,24 @@ DriveHardwareDlg(
|
|||
LPARAM lParam
|
||||
)
|
||||
{
|
||||
GUID Guids[1];
|
||||
Guids[0] = GUID_DEVCLASS_DISKDRIVE;
|
||||
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
|
||||
return FALSE;
|
||||
switch(uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
/* create the hardware page */
|
||||
DeviceCreateHardwarePageEx(hwndDlg,
|
||||
Guids,
|
||||
sizeof(Guids) / sizeof(Guids[0]),
|
||||
0);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<library>shlwapi</library>
|
||||
<library>ole32</library>
|
||||
<library>version</library>
|
||||
<library>devmgr</library>
|
||||
<file>authors.c</file>
|
||||
<file>autocomplete.c</file>
|
||||
<file>brsfolder.c</file>
|
||||
|
|
|
@ -225,18 +225,22 @@ FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
|||
EDITTEXT 14001, 40, 20, 190, 10, ES_LEFT|WS_BORDER|WS_GROUP
|
||||
LTEXT "Typ:", -1, 15, 55, 40, 10
|
||||
LTEXT "", 14002, 40, 55, 100, 10
|
||||
LTEXT "Dateisystem:",-1, 15, 70, 100, 10
|
||||
LTEXT "", 14003, 40, 70, 100, 10
|
||||
|
||||
LTEXT "Dateisystem:", -1, 15, 70, 100, 10
|
||||
LTEXT "", 14003, 110, 70, 100, 10
|
||||
|
||||
LTEXT "Belegter Speicher:", -1, 25, 90, 120, 10
|
||||
LTEXT "", 14004, 110, 90, 120, 10
|
||||
LTEXT "", 14005, 200, 90, 40, 10
|
||||
|
||||
LTEXT "Freier Speicher:", -1, 25, 105, 70, 10
|
||||
LTEXT "", 14006, 110, 105, 120, 10
|
||||
LTEXT "", 14007, 200, 105, 40, 10
|
||||
|
||||
LTEXT "Speicherkapazität:", -1, 25, 125, 80, 10
|
||||
LTEXT "", 14008, 110, 125, 120, 10
|
||||
LTEXT "", 14009, 200, 125, 40, 10
|
||||
|
||||
LTEXT "", 14010, 150, 160, 40, 10
|
||||
PUSHBUTTON "Bereinigen", 14011, 190, 145, 50, 15, WS_DISABLED
|
||||
CHECKBOX "Laufwerk komprimieren, um Speicherplatz zu sparen", 14012, 15, 205, 165, 10, WS_DISABLED
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue