Env
Introduction
To use these methods and features, do not forget to put this line of code in your "using" region:
C#
using LeoCorpLibrary;
VB
Imports LeoCorpLibrary
Env
Methods
File System
a. GetFilesCount
This function is available in version 1.6 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetFilesCount() method allows you to get the number of files in a specified directory. Returns an int value.
Variation 1
Env.GetFilesCount(string directory) {...}
| Value | Argument | Description |
|---|---|---|
| string | directory | Directory where you want to get the number of files |
Variation 2
Env.GetFilesCount(string directory, bool includeSubDirectories) {...}
| Value | Argument | Description |
|---|---|---|
| string | directory | Directory where you want to get the number of files |
| bool | includeSubDirectories | Count files that are located in the subdirectories |
Here's an example of usage:
C#
// Without subdirectories
int fileNumber = Env.GetFilesCount(@"C:\Users");
// With subdirectories
int fileNumberWithSubDirectories = Env.GetFilesCount(@"C:\Users", true);
VB
' Without subdirectories
Dim fileNumber As Integer = Env.GetFilesCount("C:/Users")
' With subdirectories
Dim fileNumberWithSubDirectories As Integer = Env.GetFilesCount("C:/Users", True)
b. GetDirectoriesCount
This function is available in version 1.6 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetDirectoryCount method allow you to get the number of directories in a specified directory. Returns a int value. It has two variation
Variation 1
Env.GetDirectoriesCount(string directory) {...}
| Value | Argument | Description |
|---|---|---|
| string | directory | Directory where you want to get the number of directories |
Variation 2
Env.GetDirectoriesCount(string directory, bool includeSubDirectories) {...}
| Value | Argument | Description |
|---|---|---|
| string | directory | Directory where you want to get the number of directories |
| bool | includeSubDirectories | Also include directories in subdirectories |
Here's an example of usage:
C#
// Without subdirectories
int directoryNumber = Env.GetDirectoriesCount(@"C:\Users");
// With subdirectories
int directoryNumberWithSubDirectories = Env.GetDirectoriesCount(@"C:\Users", true);
VB
' Without subdirectories
Dim directoryNumber As Integer = Env.GetDirectoriesCount("C:/Users")
' With subdirectories
Dim directoryNumberWithSubDirectories As Integer = Env.GetDirectoriesCount("C:/Users", True)
c. GetTotalDriveSpace
This function is available in version 1.6 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetTotalDriveSpace method allow you to get the total space of a specified volume. Returns a double value.
It's in:
LeoCorpLibrary.Env.GetTotalDriveSpace()
It has two arguments:
| Value | Argument | Description | Example |
|---|---|---|---|
| string | drive | Directory of the volume | C:\ |
| UnitType | unitType | Type of unit to return | UnitType.Gigabyte |
Here's an example of usage:
C#
double totalSpace = Env.GetTotalDriveSpace(@"C:\", UnitType.Gigabyte);
VB
Dim totalSpace As Double = Env.GetTotalDriveSpace("C:/", UnitType.Gigabyte)
d. GetDriveAvailableFreeSpace
This function is available in version 1.6 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetDriveAvailableFreeSpace() method allows you to get the available space of specified volume. Returns a double value.
It's in:
LeoCorpLibrary.Env.GetDriveAvailableFreeSpace()
It has two arguments:
| Value | Argument | Description | Example |
|---|---|---|---|
| string | drive | Directory of the volume | C:\ |
| UnitType | unitType | Type of unit to return (MB, GB) | UnitType.Gigabyte |
Here's an example of usage:
C#
double freeSpace = Env.GetDriveAvailableFreeSpace(@"C:\", UnitType.Gigabyte);
VB
Dim freeSpace As Double = Env.GetDriveAvailableFreeSpace("C:/", UnitType.Gigabyte)
e. GetOccupiedDriveSpace
This function is available in version 1.6 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetOccupiedDriveSpace() allows you to get the occupied drive space of specified volume. Returns a double value.
It's in:
LeoCorpLibrary.Env.GetOccupiedDriveSpace()
It has two arguments:
| Value | Argument | Description | Example |
|---|---|---|---|
| string | drive | Directory of the volume | C:\ |
| UnitType | unitType | Type of unit to return (MB, GB) | UnitType.Gigabyte |
Here's an example of usage:
C#
double occupiedSpace = GetOccupiedDriveSpace(@"C:\", UnitType.Gigabyte);
VB
Dim occupiedSpace As Double = GetOccupiedDriveSpace("C:/", UnitType.Gigabyte)
f. CountFileCharacters
This function is available in version 2.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The CountFileCharacters() method enables you to get the number of characters in a specified file. It returns an int value.
It's in:
LeoCorpLibrary.Env.CountFileCharacters()
It has two arguments:
| Value | Argument | Description |
|---|---|---|
| string | fileName | The file's location where you wanna count characters |
Here's an example of usage:
C#
string filePath = @"C:\File.txt";
int characters = Env.CountFileCharacters(filePath);
VB
Dim filePath As String = "C:\\File.txt"
Dim characters As Integer = Env.CountFileCharacters(filePath)
g. CountFileCharactersAsync
This function is available in version 2.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The CountFileCharactersAsync() method enables you to count the number of characters in a file, asynchronously. It returns a Task<int> value.
It's in:
LeoCorpLibrary.Env.CountFileCharactersAsync()
It has one argument:
| Value | Argument | Description |
|---|---|---|
| string | fileName | The file's location where you wanna count characters |
Here's an example of usage:
C#
async void CountCharacters()
{
string filePath = @"C:\File.txt";
int count = await Env.CountFileCharactersAsync(filePath);
}
VB
Private Async Sub CountCharacters()
Dim filePath As String = "C:\\File.txt"
Dim count As Integer = Await Env.CountFileCharactersAsync(filePath)
End Sub
h. IsDirectoryHasPermission
This function is available in version 3.7 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The IsDirectoryHasPermission() method allows you to see if your program has permissions to write files/directories to a specified directory. It returns a bool value.
It's in:
LeoCorpLibrary.Env.IsDirectoryHasPermission()
It has one argument:
| Value | Argument | Description |
|---|---|---|
| string | filePath | The path to the directory |
Here's an example of usage:
C#
if (Env.IsDirectoryHasPermission("C:/Windows"))
{
File.Create("C:/Windows/file.txt");
}
VB
If Env.IsDirectoryHasPermission("C:/Windows") Then
File.Create("C:/Windows/file.txt")
End If
i. GetOccupiedSpacePercentage
This function is available in version 4.8 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetOccupiedSpacePercentage() method allows you to get the occupied space percentage of specified volume. It returns a double value.
It's in:
LeoCorpLibrary.Env.GetOccupiedSpacePercentage()
It has one argument:
| Value | Argument | Description | Example |
|---|---|---|---|
| DriveInfo | driveInfo | The desired drive/volume to get the occupied space percentage of | new DriveInfo(@"C:\") |
Here's an example of usage:
C#
DriveInfo driveInfo = new DriveInfo(@"C:\");
double occupiedSpacePercentage = Env.GetOccupiedSpacePercentage(driveInfo);
// occupiedSpacePercentage is a double value between 0 and 1
VB
Dim driveInfo As DriveInfo = New DriveInfo("C:/")
Dim occupiedSpacePercentage As Double = Env.GetOccupiedSpacePercentage(driveInfo)
' occupiedSpacePercentage is a double value between 0 and 1
j. GetDriveWithHighestFreeSpace
This function is available in version 4.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetDriveWithHighestFreeSpace() method allows you to get the drive with the highest free space. It returns a DriveInfo value.
It's in:
LeoCorpLibrary.Env.GetDriveWithHighestFreeSpace()
It doesn't have any arguments.
Here's an example of usage:
C#
DriveInfo driveInfo = Env.GetDriveWithHighestFreeSpace();
// driveInfo is the drive with the highest free space
VB
Dim driveInfo As DriveInfo = Env.GetDriveWithHighestFreeSpace()
' driveInfo is the drive with the highest free space
k. GetDriveWithLowestFreeSpace
This function is available in version 4.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetDriveWithLowestFreeSpace() method allows you to get the drive with the lowest free space. It returns a DriveInfo value.
It's in:
LeoCorpLibrary.Env.GetDriveWithLowestFreeSpace()
It doesn't have any arguments.
Here's an example of usage:
C#
DriveInfo driveInfo = Env.GetDriveWithLowestFreeSpace();
// driveInfo is the drive with the lowest free space
VB
Dim driveInfo As DriveInfo = Env.GetDriveWithLowestFreeSpace()
' driveInfo is the drive with the lowest free space
l. GetDriveUnitType
This function is available in version 4.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetDriveUnitType() method allows you to get the drive unit type. It returns a UnitType enum.
It's in:
LeoCorpLibrary.Env.GetDriveUnitType()
It has one argument:
| Value | Argument | Description | Example |
|---|---|---|---|
| DriveInfo | driveInfo | The desired drive/volume to get the drive unit type of | new DriveInfo(@"C:\") |
Here's an example of usage:
C#
var drives = DriveInfo.GetDrives();
for (int i = 0; i < drives.Length; i++)
{
Console.WriteLine($"Name: {drives[i].Name}, Unit: {Env.GetDriveUnitType(drives[i])}, Size: {drives[i].TotalSize}");
}
/*
Example:
Name: C:\, Unit: GB, Size: 107374182400
*/
VB
Dim drives() As DriveInfo = DriveInfo.GetDrives()
For i = 0 To drives.Length - 1
Console.WriteLine($"Name: {drives(i).Name}, Unit: {Env.GetDriveUnitType(drives(i))}, Size: {drives(i).TotalSize}")
Next
' Example:
' Name: C:\, Unit: GB, Size: 107374182400
m. IsDriveOpticalDrive
This function is available in version 4.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The IsDriveOpticalDrive() method allows you to check if a specific drive is an optical drive. It returns a bool value.
It's in:
LeoCorpLibrary.Env.IsDriveOpticalDrive()
It has one argument:
| Value | Argument | Description | Example |
|---|---|---|---|
| DriveInfo | driveInfo | The desired drive/volume to check if it's an optical drive | new DriveInfo(@"C:\") |
Here's an example of usage:
C#
var drives = DriveInfo.GetDrives();
for (int i = 0; i < drives.Length; i++)
{
Console.WriteLine($"Name: {drives[i].Name}, IsOpticalDrive: {Env.IsDriveOpticalDrive(drives[i])}");
}
/*
Example:
Name: C:\, IsOpticalDrive: False
*/
VB
Dim drives() As DriveInfo = DriveInfo.GetDrives()
For i = 0 To drives.Length - 1
Console.WriteLine($"Name: {drives(i).Name}, IsOpticalDrive: {Env.IsDriveOpticalDrive(drives(i))}")
Next
' Example:
' Name: C:\, IsOpticalDrive: False
System Environment
a. GetWindowsVersion
This function is available in version 1.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The GetWindowsVersion() enables you to get the Windows version that the user is running. Returns a WindowsVersion enumeration.
Warning
Don't forget to import the LeoCorpLibrary.Enumsor LeoCorpLibrary.Core.Enums namespace.
It's in:
LeoCorpLibrary.Env.GetWindowsVersion()
Warning
This method works only if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Else, it will return Windows8.
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
Note
This file is an example. You can create this file by right-clicking on the project, then "Add", "New element", then "Application manifest" and "Add".
Here's an example of usage:
C#
WindowsVersion winver = Env.GetWindowsVersion(); // Get Windows version
/*
Can return:
WindowsVersion.Windows7
WindowsVersion.Windows8
WindowsVersion.Windows81
WindowsVersion.Windows10
WindowsVersion.Windows11 (available in version 4.1+)
/*
VB
Dim winver As WindowsVersion = Env.GetWindowsVersion() ' Get Windows version
' Can return:
' WindowsVersion.Windows7
' WindowsVersion.Windows8
' WindowsVersion.Windows81
' WindowsVersion.Windows10
' WindowsVersion.Windows11 (available in version 4.1+)
b. ExecuteAsAdmin
This function is available in version 1.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The ExecuteAsAdmin() allows you to execute a program in admin mode on Windows.
It's in:
LeoCorpLibrary.Env.ExecuteAsAdmin()
This method has two variation:
Variation 1
Env.ExecuteAsAdmin(Process process) {...}
| Value | Argument | Description |
|---|---|---|
| Process | process | Process with StartInfo.FileName indicated |
Variation 2
Env.ExecuteAsAdmin(string filename) {...}
| Value | Argument | Description |
|---|---|---|
| string | filename | The location of the software to launch in admin mode |
Here's an example of usage:
C#
// Variation 1
Process process = new Process();
process.StartInfo.FileName = @"C:\Windows\System32\cmd.exe";
Env.ExecuteAsAdmin(process);
// Variation 2
Env.ExecuteAsAdmin(@"C:\Windows\System32\cmd.exe");
VB
' Variation 1
Dim process As Process = New Process()
process.StartInfo.FileName = "C:/Windows/System32/cmd.exe"
Env.ExecuteAsAdmin(process)
' Variation 2
Env.ExecuteAsAdmin("C:/Windows/System32/cmd.exe")
c. GetUnixTime
This function is available in version 2.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
This method allows you to get the current UnixTime or the UnixTime of a specific date/time. Returns an int value.
It's in:
LeoCorpLibrary.Env.GetUnixTime()
It has two variation:
Variation 1
The variation does not accept any arguments.
Variation 2
This variation has an argument:
| Value | Argument | Description |
|---|---|---|
| DateTime | date | The specific date to get the UnixTime of |
Here's an example of usage:
C#
// Variation 1
int currentUnixTime = Env.GetUnixTime();
// Variation 2
DateTime dateTime = new DateTime(1970, 1, 1);
int unixTime = Env.GetUnixTime(dateTime);
VB
' Variation 1
Dim currentUnixTime As Integer = Env.GetUnixTime()
' Variation 2
Dim dateTime As DateTime = New DateTime(1970, 1, 1)
Dim unixTime As Integer = Env.GetUnixTime(dateTime)
d. GetAppDataPath
This function is available in version 2.2 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
This method allows you to get the user's %APPDATA% path. Returns a string value.
It's in:
LeoCorpLibrary.Env.GetAppDataPath()
It has no arguments.
Here's an example of usage:
C#
string appDataPath = Env.GetAppDataPath();
VB
dim appDataPath As String = Env.GetAppDataPath()
e. GetMouseCursorPosition
This function is available in version 3.4 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ❌ |
| .NET 5 | ✔ | ❌ |
| .NET Core 3.1 | ✔ | ❌ |
| .NET Framework 4.5 | ✔ | ❌ |
This method allows you to get the current position of the mouse cursor on the screen. It returns a Point value (System.Drawing).
It's in:
LeoCorpLibrary.Env.GetMouseCursorPosition()
It has no arguments.
Note
This method is using Windows Forms features, so use this method in Windows Forms projects only. If your project is using WPF, check GetMouseCursorPositionWPF().
Here's an example of usage:
C#
Point p = Env.GetMouseCursorPosition();
MessageBox.Show($"Mouse position: X = {p.X}; Y = {p.Y}");
VB
Dim p As Point = Env.GetMouseCursorPosition()
MessageBox.Show("Mouse position: X = " + p.X.ToString() + "; Y = " + p.Y.ToString())
f. GetMouseCursorPositionWPF
This function is available in version 3.4 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ❌ |
| .NET 5 | ✔ | ❌ |
| .NET Core 3.1 | ✔ | ❌ |
| .NET Framework 4.5 | ✔ | ❌ |
This method allows you to get the current position of the mouse cursor on the screen. It returns a Point value (System.Windows).
It's in:
LeoCorpLibrary.Env.GetMouseCursorPositionWPF()
It has no arguments.
Here's an example of usage:
C#
Point p = Env.GetMouseCursorPosition();
MessageBox.Show($"Mouse position: X = {p.X}; Y = {p.Y}");
VB
Dim p As Point = Env.GetMouseCursorPosition()
MessageBox.Show("Mouse position: X = " + p.X.ToString() + "; Y = " + p.Y.ToString())
g. UnixTimeToDateTime
This function is available in version 3.4 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
This method allows you to convert UnixTime (int) to a DateTime object. Returns a DateTime value.
It's in:
LeoCorpLibrary.Env.UnixTimeToDateTime()
It has one argument:
| Value | Argument | Description |
|---|---|---|
| int | unixTime | The UnixTime to convert |
Here's an example of usage:
C#
int unixTime = 1615538407;
DateTime date = Env.UnixTimeToDateTime(unixTime); // 12/03/2021 @ 09:40:07
VB
Dim unixTime As Integer = 1615538407
Dim date As DateTime = Env.UnixTimeToDateTime(unixTime) ' 12/03/2021 @ 09:40:07
h. IsProcessRunning
This function is available in version 3.4 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
This method allows you to check if a specific process is currently running. Returns a bool value.
It's in:
LeoCorpLibrary.Env.IsProcessRunning()
It has one argument:
| Value | Argument | Description |
|---|---|---|
| int | processName | The process name to find |
Here's an example of usage:
C#
if (IsProcessRunning("cmd.exe"))
{
MessageBox.Show("You have a command prompt running.")
}
VB
If IsProcessRunning("cmd.exe") Then
MessageBox.Show("You have a command prompt running.")
End If
i. LaunchUWPApp
This function is available in version 3.9 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ❌ |
| .NET 5 | ✔ | ❌ |
| .NET Core 3.1 | ✔ | ❌ |
| .NET Framework 4.5 | ✔ | ❌ |
This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:
Get-AppxPackage | Select PackageFamilyName, InstallLocation
You can find the Application Id in the AppxManifest.xml file in
InstallLocation\AppxManifest.xml
This method isn't available in LeoCorpLibrary.Core.
It's in:
LeoCorpLibrary.Env.LaunchUWPApp()
It has two arguments:
| Value | Argument | Description |
|---|---|---|
| string | packageFamilyName | The PackageFamilyName property |
| string | applicationID | The Application Id property in the UWP AppxManifest.xml file |
Here's an example of usage:
C#
// Launch Minecraft UWP
Env.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch
VB
' Launch Minecraft UWP
Env.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App") ' Launch
j. DateTimeToUnixTime
This function is available in version 4.8 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
This method allows you to convert a DateTime object to UnixTime (int). Returns an int value.
It's in:
LeoCorpLibrary.Env.DateTimeToUnixTime()
It has one argument:
| Value | Argument | Description |
|---|---|---|
| DateTime | dateTime | The DateTime to convert |
Here's an example of usage:
C#
DateTime date = DateTime.Now;
int unixTime = Env.DateTimeToUnixTime(date); // Current UnixTime
// unixTime is now the current UnixTime
VB
Dim date As DateTime = DateTime.Now
Dim unixTime As Integer = Env.DateTimeToUnixTime(date) ' Current UnixTime
' unixTime is now the current UnixTime
Properties
File System
a. SystemDrive
This property is available in version 3.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The SystemDrive property allows you to get the DriveInfo of the system drive.
WARNING
This property only works on Windows!
It's in:
LeoCorpLibrary.Env.SystemDrive
Here's an example of usage:
C#
DriveInfo sysDrive = Env.SystemDrive; // Get system drive
VB
Dim sysDrive As DriveInfo = Env.SystemDrive ' Get system drive
b. AppDataPath
This property is available in version 3.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The AppDataPath property allows you to get the %APPDATA% directory path.
It's in:
LeoCorpLibrary.Env.AppDataPath
Here's an example of usage:
C#
string appDataPath = Env.AppDataPath; // Get %APPDATA%
VB
Dim appDataPath As String = Env.AppDataPath ' Get %APPDATA%
c. CurrentAppDirectory
This property is available in version 4.8 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The CurrentAppDirectory property allows you to get the current directory path of the app. It returns a string value.
It's in:
LeoCorpLibrary.Env.CurrentAppDirectory
Here's an example of usage:
C#
string currentAppDirectory = Env.CurrentAppDirectory; // Get current app directory
VB
Dim currentAppDirectory As String = Env.CurrentAppDirectory ' Get current app directory
System Environment
a. CurrentOperatingSystem
This property is available in version 3.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ❌ | ❌ |
The CurrentOperatingSystem property allows you to get the current Operating system. It returns a OperatingSystems enum:
- Windows
- macOS
- Linux
- Unknown
It's in:
LeoCorpLibrary.Env.CurrentOperatingSystem
Here's an example of usage:
C#
Console.WriteLine($"The current OS is {Env.CurrentOperatingSystem.ToString()}");
VB
Console.WriteLine("The current OS is" + Env.CurrentOperatingSystem.ToString())
b. UnixTime
This property is available in version 3.1 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The UnixTime property allows you to get the current Unix time.
It's in:
LeoCorpLibrary.Env.UnixTime
Here's an example of usage:
C#
while (true)
{
Console.WriteLine(Env.UnixTime.ToString());
Thread.Sleep(1000);
}
VB
While True
Console.WriteLine(Env.UnixTime.ToString())
Thread.Sleep(1000)
End While
c. SystemTheme
This property is available in version 4.2 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ❌ |
| .NET 5 | ✔ | ❌ |
| .NET Core 3.1 | ✔ | ❌ |
| .NET Framework 4.5 | ✔ | ❌ |
The SystemTheme property allows you to get the current SystemThemes of the operating system. Works only on Windows. It returns a SystemThemes enum.
It's in:
LeoCorpLibrary.Env.SystemTheme
Here's an example of usage:
C#
// Running on Windows 11, with dark theme enabled.
Console.WriteLine(Env.SystemTheme.ToString());
// Output:
// Dark
VB
' Running on Windows 11, with dark theme enabled.
Console.WriteLine(Env.SystemTheme.ToString())
' Output:
' Dark
d. IsDarkThemeAvailable
This property is available in version 4.2 and higher.
Compatibility
| Frameworks | LeoCorpLibrary | LeoCorpLibrary.Core |
|---|---|---|
| .NET 6 | ✔ | ✔ |
| .NET 5 | ✔ | ✔ |
| .NET Core 3.1 | ✔ | ✔ |
| .NET Framework 4.5 | ✔ | ✔ |
The IsDarkThemeAvailable property allows you to get if dark theme is supported on the current operating system. It returns a bool value.
It's in:
LeoCorpLibrary.Env.IsDarkThemeAvailable
Here's an example of usage:
C#
// Running on Windows 7
Console.WriteLine(Env.IsDarkThemeAvailable.ToString());
// Output:
// False
VB
' Running on Windows 7
Console.WriteLine(Env.IsDarkThemeAvailable.ToString())
' Output:
' False