Skip to content

Disk Info based on CrystalDiskInfo

License

Notifications You must be signed in to change notification settings

khangthk/DiskInfo

 
 

Repository files navigation

Icon

DiskInfo

A tool for viewing hard drive information with a modern UI design.

Download

Download DiskInfo

Language

Concept

image

Background

CrystalDiskInfo is one of the most famous disk health monitoring tools in the world. It is free and open source, and is still actively maintained.

CrystalDiskInfo

This project aims at providing a mordern appearance for DiskInfo. The new design follow the guide of Fluent Design System,with flexible,adapting layout,and charming visual design.

Build

Solution Structure

DiskInfo
    \libs
        DiskInfoLib ---    C  /WinRT ports of the above DiskInfo project, to be consumed directly to UI layer (developing).
        DiskInfoTest ---       a library for testing DiskInfoLib.
        MockDiskInfo ---        Fake DiskInfoLib reference that provide sample data for UI layer test.
    DiskInfo ---               C#/WinUI 3 project that provide the UI layer of DiskInfo.

WinRT port

The DiskInfoLib is a C /WinRT project transformed to be able to allowed to call Win32 APIs. It's basically using Visual Studio's Windows Runtime Component project template, but with additional macros defined and additional library paths added. In order to be consumed by the C# project (.NET6),

  • add cs/winrt NuGet package.
  • add a project reference to the WinRT component project, finally add a PropertyGroup tag in the csproj file.
<PropertyGroup>
    <CsWinRTIncludes>DiskInfoLibWinRT</CsWinRTIncludes>
    <CsWinRTGeneratedFilesDir>$(OutDir)</CsWinRTGeneratedFilesDir>
</PropertyGroup>

Known issues

  • Debugging for winui3 under admin privilege is not fully working. For developments' convenience, it normally runs without admin previledges. (This will change when it's publish to store)
  • More features coming!
Technology stack and pre-requsite to build

Technology Stack

Documents

Develop Environment

  • Visual Studio 2022

  • C Desktop Development

  • Universal Windows Development

  • .NET Desktop Development

  • Windows SDK 22621

  • C ATL for latest v143 build tools (x86 & x64)

  • C MFC for latest v143 build tools (x86 & x64)

XAML Control Libraries

About

Disk Info based on CrystalDiskInfo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 74.0%
  • C# 22.3%
  • C 3.7%