Nefarius.Drivers.HidHide
1.12.0
Prefix Reserved
See the version list below for details.
dotnet add package Nefarius.Drivers.HidHide --version 1.12.0
NuGet\Install-Package Nefarius.Drivers.HidHide -Version 1.12.0
<PackageReference Include="Nefarius.Drivers.HidHide" Version="1.12.0" />
paket add Nefarius.Drivers.HidHide --version 1.12.0
#r "nuget: Nefarius.Drivers.HidHide, 1.12.0"
// Install Nefarius.Drivers.HidHide as a Cake Addin #addin nuget:?package=Nefarius.Drivers.HidHide&version=1.12.0 // Install Nefarius.Drivers.HidHide as a Cake Tool #tool nuget:?package=Nefarius.Drivers.HidHide&version=1.12.0
<img src="assets/NSS-128x128.png" align="right" />
Nefarius.Drivers.HidHide
Managed API for configuring HidHide.
Usage
Create an instance of HidHideControlService
whenever you need it.
You can use it as a singleton with dependency injection as well.
This class will not block other configuration apps so you can keep it in memory as long as you need. A handle to the driver is only opened when necessary (when the properties are read from or the methods get invoked).
The following methods and properties are available:
/// <summary>
/// Provides a managed wrapper for communicating with HidHide driver.
/// </summary>
public interface IHidHideControlService
{
/// <summary>
/// Gets or sets whether global device hiding is currently active or not.
/// </summary>
bool IsActive { get; set; }
/// <summary>
/// Gets whether the driver is present and operable.
/// </summary>
bool IsInstalled { get; }
/// <summary>
/// Gets or sets whether the application list is inverted (from block all/allow specific to allow all/block specific).
/// </summary>
/// <remarks>
/// The default behaviour of the application list is to block all processes by default and only treat listed paths
/// as exempted.
/// </remarks>
bool IsAppListInverted { get; set; }
/// <summary>
/// Returns list of currently blocked instance IDs.
/// </summary>
IReadOnlyList<string> BlockedInstanceIds { get; }
/// <summary>
/// Returns list of currently allowed (or blocked, see <see cref="IsAppListInverted" />) application paths.
/// </summary>
IReadOnlyList<string> ApplicationPaths { get; }
/// <summary>
/// Submit a new instance to block.
/// </summary>
/// <remarks>
/// To get the instance ID from e.g. a symbolic link (device path) you can use this companion library:
/// https://github.com/nefarius/Nefarius.Utilities.DeviceManagement
/// </remarks>
/// <param name="instanceId">The Instance ID to block.</param>
void AddBlockedInstanceId(string instanceId);
/// <summary>
/// Remove an instance from being blocked.
/// </summary>
/// <remarks>
/// To get the instance ID from e.g. a symbolic link (device path) you can use this companion library:
/// https://github.com/nefarius/Nefarius.Utilities.DeviceManagement
/// </remarks>
/// <param name="instanceId">The Instance ID to unblock.</param>
void RemoveBlockedInstanceId(string instanceId);
/// <summary>
/// Empties the device instances list. Useful if <see cref="AddBlockedInstanceId" /> or
/// <see cref="BlockedInstanceIds" /> throw exceptions due to nonexistent entries.
/// </summary>
/// <remarks>
/// Be very conservative in using this call, you might accidentally undo settings different apps have put in
/// place.
/// </remarks>
void ClearBlockedInstancesList();
/// <summary>
/// Submit a new application to allow (or deny if inverse flag is set).
/// </summary>
/// <remarks>Use the common local path notation (e.g. "C:\Windows\System32\rundll32.exe").</remarks>
/// <param name="path">The absolute application path to allow.</param>
void AddApplicationPath(string path);
/// <summary>
/// Revokes an applications exemption.
/// </summary>
/// <remarks>Use the common local path notation (e.g. "C:\Windows\System32\rundll32.exe").</remarks>
/// <param name="path">The absolute application path to revoke.</param>
void RemoveApplicationPath(string path);
/// <summary>
/// Empties the application list. Useful if <see cref="AddApplicationPath" /> or <see cref="ApplicationPaths" /> throw
/// exceptions due to nonexistent entries.
/// </summary>
/// <remarks>
/// Be very conservative in using this call, you might accidentally undo settings different apps have put in
/// place.
/// </remarks>
void ClearApplicationsList();
}
3rd party sources
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net6.0-windows7.0 is compatible. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net6.0-windows7.0
- No dependencies.
-
net7.0-windows7.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (6)
Showing the top 5 popular GitHub repositories that depend on Nefarius.Drivers.HidHide:
Repository | Stars |
---|---|
Valkirie/HandheldCompanion
ControllerService
|
|
CircumSpector/DS4Windows
A reimagination of DS4Windows.
|
|
project-sbc/Handheld-Control-Panel
|
|
nefarius/Legacinator
The one and only Legacinator
|
|
JamesCJ60/Universal-x86-Tuning-Utility-Handheld
Unlock the full potential of your Intel/AMD based handheld.
|
Version | Downloads | Last updated | |
---|---|---|---|
2.4.1 | 582 | 10/1/2024 | |
2.4.0 | 103 | 9/30/2024 | |
2.3.0 | 285 | 9/17/2024 | |
2.3.0-pre002 | 94 | 9/16/2024 | |
2.3.0-pre001 | 80 | 9/16/2024 | |
2.2.0 | 514 | 7/6/2024 | |
2.1.0 | 147 | 6/23/2024 | |
2.0.0 | 97 | 6/22/2024 | |
2.0.0-pre9 | 83 | 6/21/2024 | |
2.0.0-pre8 | 83 | 6/21/2024 | |
2.0.0-pre7 | 84 | 6/21/2024 | |
2.0.0-pre6 | 89 | 6/21/2024 | |
2.0.0-pre5 | 80 | 6/21/2024 | |
2.0.0-pre4 | 83 | 6/21/2024 | |
2.0.0-pre3 | 87 | 6/21/2024 | |
2.0.0-pre2 | 91 | 6/21/2024 | |
2.0.0-pre10 | 58 | 6/21/2024 | |
2.0.0-pre1 | 107 | 6/18/2024 | |
2.0.0-pre001 | 69 | 6/21/2024 | |
1.12.2 | 2,089 | 11/17/2023 | |
1.12.1 | 111 | 11/17/2023 | |
1.12.0 | 113 | 11/17/2023 | |
1.11.0 | 239 | 10/18/2023 | |
1.10.1 | 160 | 10/12/2023 | |
1.10.0 | 129 | 10/12/2023 | |
1.9.2 | 201 | 9/26/2023 | |
1.9.1 | 130 | 9/21/2023 | |
1.9.0-tags-v1-9-0-pre.1 | 67 | 9/21/2023 | |
1.8.60 | 2,460 | 3/7/2023 | |
1.8.59 | 214 | 3/7/2023 | |
1.8.56 | 201 | 3/7/2023 | |
1.8.54 | 824 | 11/14/2022 | |
1.6.51 | 359 | 11/2/2022 | |
1.6.49 | 336 | 11/2/2022 | |
1.6.46 | 321 | 11/2/2022 | |
1.6.44 | 333 | 11/2/2022 | |
1.6.38 | 395 | 10/26/2022 | |
1.5.35 | 356 | 10/26/2022 | |
1.4.31 | 373 | 10/25/2022 | |
1.3.26 | 399 | 10/23/2022 | |
1.2.23 | 382 | 10/23/2022 | |
1.2.21 | 385 | 10/23/2022 | |
1.1.16 | 404 | 10/22/2022 | |
1.1.12 | 383 | 10/22/2022 | |
1.1.11 | 377 | 10/22/2022 | |
1.0.9 | 404 | 10/22/2022 | |
1.0.7 | 390 | 10/22/2022 | |
1.0.5 | 395 | 10/22/2022 | |
1.0.3 | 382 | 10/22/2022 |