Compare commits

...

7 Commits

Author SHA1 Message Date
Orbmu2k
84749fdf5f possible fix #27 #40 2020-01-11 01:10:00 +01:00
Orbmu2k
b651dae816 moved ansel setting to common group 2020-01-11 00:18:15 +01:00
Orbmu2k
0a27ce1c36 STRG+C will copy userdefined settings to clipboard 2020-01-11 00:10:16 +01:00
Orbmu2k
499cdde758 fixed drs db reset 2020-01-10 22:55:25 +01:00
Orbmu2k
cedcd4e2c6 fix #33 - using settings.xml in working folder if exists 2020-01-07 23:39:06 +01:00
Orbmu2k
5301c52c16 fixed "-disableScan" mode 2020-01-07 23:20:21 +01:00
Orbmu2k
bf8243adaf Updated Settings R441 2020-01-07 11:17:35 +01:00
12 changed files with 2006 additions and 59 deletions

View File

@@ -31,7 +31,11 @@ namespace nspector.Common
public DrsDecrypterService(DrsSettingsMetaService metaService) : base(metaService)
{
CreateInternalSettingMap();
try
{
CreateInternalSettingMap();
}
catch { }
}
private uint GetDwordFromKey(uint offset)

View File

@@ -43,7 +43,7 @@ namespace nspector.Common
{
LoadSettingsFileEx(hSession, filename);
SaveSettings(hSession);
});
}, forceNonGlobalSession: true, preventLoadSettings: true);
}
internal void ExportProfiles(List<string> profileNames, string filename, bool includePredefined)

View File

@@ -14,12 +14,12 @@ namespace nspector.Common
private static object _Sync = new object();
public static T DrsSession<T>(Func<IntPtr, T> action, bool forceNonGlobalSession = false)
public static T DrsSession<T>(Func<IntPtr, T> action, bool forceNonGlobalSession = false, bool preventLoadSettings = false)
{
lock (_Sync)
{
if (!HoldSession || forceNonGlobalSession)
return NonGlobalDrsSession<T>(action);
return NonGlobalDrsSession<T>(action, preventLoadSettings);
if (GlobalSession == IntPtr.Zero)
@@ -31,10 +31,13 @@ namespace nspector.Common
if (csRes != NvAPI_Status.NVAPI_OK)
throw new NvapiException("DRS_CreateSession", csRes);
var nvRes = nvw.DRS_LoadSettings(GlobalSession);
if (nvRes != NvAPI_Status.NVAPI_OK)
throw new NvapiException("DRS_LoadSettings", nvRes);
if (!preventLoadSettings)
{
var nvRes = nvw.DRS_LoadSettings(GlobalSession);
if (nvRes != NvAPI_Status.NVAPI_OK)
throw new NvapiException("DRS_LoadSettings", nvRes);
}
}
}
@@ -58,7 +61,7 @@ namespace nspector.Common
}
}
private static T NonGlobalDrsSession<T>(Func<IntPtr, T> action)
private static T NonGlobalDrsSession<T>(Func<IntPtr, T> action, bool preventLoadSettings = false)
{
IntPtr hSession = IntPtr.Zero;
var csRes = nvw.DRS_CreateSession(ref hSession);
@@ -67,9 +70,12 @@ namespace nspector.Common
try
{
var nvRes = nvw.DRS_LoadSettings(hSession);
if (nvRes != NvAPI_Status.NVAPI_OK)
throw new NvapiException("DRS_LoadSettings", nvRes);
if (!preventLoadSettings)
{
var nvRes = nvw.DRS_LoadSettings(hSession);
if (nvRes != NvAPI_Status.NVAPI_OK)
throw new NvapiException("DRS_LoadSettings", nvRes);
}
return action(hSession);
}

View File

@@ -38,6 +38,22 @@ namespace nspector.Common
private string GetDrsProgramPath()
{
var nvidiaInstallerFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), @"NVIDIA Corporation\Installer2");
var driverFolders = Directory.EnumerateDirectories(nvidiaInstallerFolder, "Display.Driver.*");
foreach (var folder in driverFolders)
{
var fiDbInstaller = new FileInfo(Path.Combine(folder, "dbInstaller.exe"));
if (!fiDbInstaller.Exists) continue;
var fviDbInstaller = FileVersionInfo.GetVersionInfo(fiDbInstaller.FullName);
var fileversion = fviDbInstaller.FileVersion.Replace(".", "");
var driverver = DriverVersion.ToString().Replace(",","").Replace(".","");
if (fileversion.EndsWith(driverver))
return fiDbInstaller.DirectoryName;
}
return Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles),
@"NVIDIA Corporation\Drs");
}

View File

@@ -41,13 +41,13 @@ namespace nspector.Common
return result;
}
protected void DrsSession(Action<IntPtr> action)
protected void DrsSession(Action<IntPtr> action, bool forceNonGlobalSession = false, bool preventLoadSettings = false)
{
DrsSessionScope.DrsSession<bool>((hSession) =>
{
action(hSession);
return true;
});
}, forceNonGlobalSession: forceNonGlobalSession, preventLoadSettings: preventLoadSettings);
}
protected T DrsSession<T>(Func<IntPtr, T> action, bool forceDedicatedScope = false)

View File

@@ -19,6 +19,9 @@ namespace nspector.Common.Helper
private static string GetSettingsFilename()
{
var fiPortalbleSettings = new FileInfo("settings.xml");
if (fiPortalbleSettings.Exists) return fiPortalbleSettings.FullName;
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Application.ProductName);
if (!Directory.Exists(path)) Directory.CreateDirectory(path);
return Path.Combine(path, "settings.xml"); ;

View File

File diff suppressed because it is too large Load Diff

View File

@@ -35,12 +35,13 @@
ANSEL_WHITELISTED_ID = 0x1085DA8A,
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID = 0x104554B6,
APPLICATION_STEAM_ID_ID = 0x107CDDBC,
BATTERY_BOOST_ID = 0x10115C89,
AUTOFL_ID = 0x10834FFE,
BATTERY_BOOST_APP_FPS_ID = 0x10115C8C,
CPL_HIDDEN_PROFILE_ID = 0x106D5CFF,
CUDA_EXCLUDED_GPUS_ID = 0x10354FF8,
D3DOGL_GPU_MAX_POWER_ID = 0x10D1EF29,
EXPORT_PERF_COUNTERS_ID = 0x108F0841,
EXTERNAL_QUIET_MODE_ID = 0x10115C8D,
FXAA_ALLOW_ID = 0x1034CB89,
FXAA_ENABLE_ID = 0x1074C972,
FXAA_INDICATOR_ENABLE_ID = 0x1068FB9C,
@@ -100,9 +101,9 @@
SET_VAB_DATA_ID = 0x00AB8687,
VSYNCMODE_ID = 0x00A879CF,
VSYNCTEARCONTROL_ID = 0x005A375C,
TOTAL_DWORD_SETTING_NUM = 95,
TOTAL_DWORD_SETTING_NUM = 96,
TOTAL_WSTRING_SETTING_NUM = 4,
TOTAL_SETTING_NUM = 99,
TOTAL_SETTING_NUM = 100,
INVALID_SETTING_ID = 0xFFFFFFFF
}
@@ -209,11 +210,11 @@
}
public enum EValues_OGL_SLI_CFR_MODE : uint {
OGL_SLI_CFR_MODE_CFR = 0x00,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x01,
OGL_SLI_CFR_MODE_DISABLE = 0x02,
OGL_SLI_CFR_MODE_DISABLE = 0x00,
OGL_SLI_CFR_MODE_ENABLE = 0x01,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x02,
OGL_SLI_CFR_MODE_NUM_VALUES = 3,
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_CFR
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_DISABLE
}
public enum EValues_OGL_SLI_MULTICAST : uint {
@@ -441,13 +442,11 @@
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DEFAULT = APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED
}
public enum EValues_BATTERY_BOOST : uint {
BATTERY_BOOST_MIN = 0x00000001,
BATTERY_BOOST_MAX = 0x000000ff,
BATTERY_BOOST_ENABLED = 0x10000000,
BATTERY_BOOST_DISABLED = 0x00000000,
BATTERY_BOOST_NUM_VALUES = 4,
BATTERY_BOOST_DEFAULT = BATTERY_BOOST_DISABLED
public enum EValues_AUTOFL : uint {
AUTOFL_OFF = 0,
AUTOFL_ON = 1,
AUTOFL_NUM_VALUES = 2,
AUTOFL_DEFAULT = AUTOFL_ON
}
public enum EValues_BATTERY_BOOST_APP_FPS : uint {
@@ -472,6 +471,13 @@
EXPORT_PERF_COUNTERS_DEFAULT = EXPORT_PERF_COUNTERS_OFF
}
public enum EValues_EXTERNAL_QUIET_MODE : uint {
EXTERNAL_QUIET_MODE_ON = 0x00000001,
EXTERNAL_QUIET_MODE_OFF = 0x00000000,
EXTERNAL_QUIET_MODE_NUM_VALUES = 2,
EXTERNAL_QUIET_MODE_DEFAULT = EXTERNAL_QUIET_MODE_OFF
}
public enum EValues_FXAA_ALLOW : uint {
FXAA_ALLOW_DISALLOWED = 0,
FXAA_ALLOW_ALLOWED = 1,
@@ -549,9 +555,11 @@
PS_FRAMERATE_LIMITER_FPSMASK = 0x000000ff,
PS_FRAMERATE_LIMITER_NO_ALIGN = 0x00004000,
PS_FRAMERATE_LIMITER_BB_QM = 0x00008000,
PS_FRAMERATE_LIMITER_LOW_LATENCY_AUTO = 0x00010000,
PS_FRAMERATE_LIMITER_LOWER_FPS_TO_ALIGN = 0x00020000,
PS_FRAMERATE_LIMITER_FORCE_VSYNC_OFF = 0x00040000,
PS_FRAMERATE_LIMITER_GPS_WEB = 0x00080000,
PS_FRAMERATE_LIMITER_LOW_LATENCY_LOG = 0x00100000,
PS_FRAMERATE_LIMITER_DISALLOWED = 0x00200000,
PS_FRAMERATE_LIMITER_USE_CPU_WAIT = 0x00400000,
PS_FRAMERATE_LIMITER_NO_LAG_OFFSET = 0x00800000,
@@ -560,8 +568,8 @@
PS_FRAMERATE_LIMITER_FORCEON = 0x40000000,
PS_FRAMERATE_LIMITER_ENABLED = 0x80000000,
PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP = 0xe000003c,
PS_FRAMERATE_LIMITER_MASK = 0xf0eec0ff,
PS_FRAMERATE_LIMITER_NUM_VALUES = 19,
PS_FRAMERATE_LIMITER_MASK = 0xf0ffc0ff,
PS_FRAMERATE_LIMITER_NUM_VALUES = 21,
PS_FRAMERATE_LIMITER_DEFAULT = PS_FRAMERATE_LIMITER_DISABLED
}
@@ -600,7 +608,7 @@
PS_FRAMERATE_MONITOR_CTRL_THRESHOLD_PCT_MASK = 0x000000FF,
PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_MASK = 0x00000F00,
PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_SHIFT = 8,
PS_FRAMERATE_MONITOR_CTRL_ENABLE_FINE_GRAINED = 0x00400000,
PS_FRAMERATE_MONITOR_CTRL_LOW_LATENCY_LOG = 0x00100000,
PS_FRAMERATE_MONITOR_CTRL_ENABLE_ON_VSYNC = 0x00800000,
PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_MASK = 0x0000F000,
PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_SHIFT = 12,
@@ -671,8 +679,10 @@
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 25,
SHIM_RENDERING_OPTIONS_DEFAULT = SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 27,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000
}
public enum EValues_SLI_GPU_COUNT : uint {
@@ -868,7 +878,7 @@
WKS_STEREO_DONGLE_SUPPORT_DAC = 1,
WKS_STEREO_DONGLE_SUPPORT_DLP = 2,
WKS_STEREO_DONGLE_SUPPORT_NUM_VALUES = 3,
WKS_STEREO_DONGLE_SUPPORT_DEFAULT = WKS_STEREO_DONGLE_SUPPORT_OFF
WKS_STEREO_DONGLE_SUPPORT_DEFAULT = WKS_STEREO_DONGLE_SUPPORT_DAC
}
public enum EValues_WKS_STEREO_SUPPORT : uint {

View File

@@ -74,12 +74,13 @@
#define ANSEL_WHITELISTED_STRING L"Ansel flags for enabled applications"
#define APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_STRING L"Application Profile Notification Popup Timeout"
#define APPLICATION_STEAM_ID_STRING L"Steam Application ID"
#define BATTERY_BOOST_STRING L"Battery Boost"
#define AUTOFL_STRING L"Platform Boost"
#define BATTERY_BOOST_APP_FPS_STRING L"Battery Boost Application FPS"
#define CPL_HIDDEN_PROFILE_STRING L"Do not display this profile in the Control Panel"
#define CUDA_EXCLUDED_GPUS_STRING L"List of Universal GPU ids"
#define D3DOGL_GPU_MAX_POWER_STRING L"Maximum GPU Power"
#define EXPORT_PERF_COUNTERS_STRING L"Export Performance Counters"
#define EXTERNAL_QUIET_MODE_STRING L"External Quiet Mode (XQM)"
#define FXAA_ALLOW_STRING L"NVIDIA Predefined FXAA Usage"
#define FXAA_ENABLE_STRING L"Enable FXAA"
#define FXAA_INDICATOR_ENABLE_STRING L"Enable FXAA Indicator"
@@ -175,12 +176,13 @@ enum ESetting {
ANSEL_WHITELISTED_ID = 0x1085DA8A,
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID = 0x104554B6,
APPLICATION_STEAM_ID_ID = 0x107CDDBC,
BATTERY_BOOST_ID = 0x10115C89,
AUTOFL_ID = 0x10834FFE,
BATTERY_BOOST_APP_FPS_ID = 0x10115C8C,
CPL_HIDDEN_PROFILE_ID = 0x106D5CFF,
CUDA_EXCLUDED_GPUS_ID = 0x10354FF8,
D3DOGL_GPU_MAX_POWER_ID = 0x10D1EF29,
EXPORT_PERF_COUNTERS_ID = 0x108F0841,
EXTERNAL_QUIET_MODE_ID = 0x10115C8D,
FXAA_ALLOW_ID = 0x1034CB89,
FXAA_ENABLE_ID = 0x1074C972,
FXAA_INDICATOR_ENABLE_ID = 0x1068FB9C,
@@ -240,9 +242,9 @@ enum ESetting {
SET_VAB_DATA_ID = 0x00AB8687,
VSYNCMODE_ID = 0x00A879CF,
VSYNCTEARCONTROL_ID = 0x005A375C,
TOTAL_DWORD_SETTING_NUM = 95,
TOTAL_DWORD_SETTING_NUM = 96,
TOTAL_WSTRING_SETTING_NUM = 4,
TOTAL_SETTING_NUM = 99,
TOTAL_SETTING_NUM = 100,
INVALID_SETTING_ID = 0xFFFFFFFF
};
@@ -354,11 +356,11 @@ enum EValues_OGL_SINGLE_BACKDEPTH_BUFFER {
};
enum EValues_OGL_SLI_CFR_MODE {
OGL_SLI_CFR_MODE_CFR = 0x00,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x01,
OGL_SLI_CFR_MODE_DISABLE = 0x02,
OGL_SLI_CFR_MODE_DISABLE = 0x00,
OGL_SLI_CFR_MODE_ENABLE = 0x01,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x02,
OGL_SLI_CFR_MODE_NUM_VALUES = 3,
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_CFR
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_DISABLE
};
enum EValues_OGL_SLI_MULTICAST {
@@ -586,13 +588,11 @@ enum EValues_APPLICATION_PROFILE_NOTIFICATION_TIMEOUT {
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DEFAULT = APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_DISABLED
};
enum EValues_BATTERY_BOOST {
BATTERY_BOOST_MIN = 0x00000001,
BATTERY_BOOST_MAX = 0x000000ff,
BATTERY_BOOST_ENABLED = 0x10000000,
BATTERY_BOOST_DISABLED = 0x00000000,
BATTERY_BOOST_NUM_VALUES = 4,
BATTERY_BOOST_DEFAULT = BATTERY_BOOST_DISABLED
enum EValues_AUTOFL {
AUTOFL_OFF = 0,
AUTOFL_ON = 1,
AUTOFL_NUM_VALUES = 2,
AUTOFL_DEFAULT = AUTOFL_ON
};
enum EValues_BATTERY_BOOST_APP_FPS {
@@ -625,6 +625,13 @@ enum EValues_EXPORT_PERF_COUNTERS {
EXPORT_PERF_COUNTERS_DEFAULT = EXPORT_PERF_COUNTERS_OFF
};
enum EValues_EXTERNAL_QUIET_MODE {
EXTERNAL_QUIET_MODE_ON = 0x00000001,
EXTERNAL_QUIET_MODE_OFF = 0x00000000,
EXTERNAL_QUIET_MODE_NUM_VALUES = 2,
EXTERNAL_QUIET_MODE_DEFAULT = EXTERNAL_QUIET_MODE_OFF
};
enum EValues_FXAA_ALLOW {
FXAA_ALLOW_DISALLOWED = 0,
FXAA_ALLOW_ALLOWED = 1,
@@ -702,9 +709,11 @@ enum EValues_PS_FRAMERATE_LIMITER {
PS_FRAMERATE_LIMITER_FPSMASK = 0x000000ff,
PS_FRAMERATE_LIMITER_NO_ALIGN = 0x00004000,
PS_FRAMERATE_LIMITER_BB_QM = 0x00008000,
PS_FRAMERATE_LIMITER_LOW_LATENCY_AUTO = 0x00010000,
PS_FRAMERATE_LIMITER_LOWER_FPS_TO_ALIGN = 0x00020000,
PS_FRAMERATE_LIMITER_FORCE_VSYNC_OFF = 0x00040000,
PS_FRAMERATE_LIMITER_GPS_WEB = 0x00080000,
PS_FRAMERATE_LIMITER_LOW_LATENCY_LOG = 0x00100000,
PS_FRAMERATE_LIMITER_DISALLOWED = 0x00200000,
PS_FRAMERATE_LIMITER_USE_CPU_WAIT = 0x00400000,
PS_FRAMERATE_LIMITER_NO_LAG_OFFSET = 0x00800000,
@@ -713,8 +722,8 @@ enum EValues_PS_FRAMERATE_LIMITER {
PS_FRAMERATE_LIMITER_FORCEON = 0x40000000,
PS_FRAMERATE_LIMITER_ENABLED = 0x80000000,
PS_FRAMERATE_LIMITER_OPENGL_REMOTE_DESKTOP = 0xe000003c,
PS_FRAMERATE_LIMITER_MASK = 0xf0eec0ff,
PS_FRAMERATE_LIMITER_NUM_VALUES = 19,
PS_FRAMERATE_LIMITER_MASK = 0xf0ffc0ff,
PS_FRAMERATE_LIMITER_NUM_VALUES = 21,
PS_FRAMERATE_LIMITER_DEFAULT = PS_FRAMERATE_LIMITER_DISABLED
};
@@ -753,7 +762,7 @@ enum EValues_PS_FRAMERATE_MONITOR_CTRL {
PS_FRAMERATE_MONITOR_CTRL_THRESHOLD_PCT_MASK = 0x000000FF,
PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_MASK = 0x00000F00,
PS_FRAMERATE_MONITOR_CTRL_MOVING_AVG_X_SHIFT = 8,
PS_FRAMERATE_MONITOR_CTRL_ENABLE_FINE_GRAINED = 0x00400000,
PS_FRAMERATE_MONITOR_CTRL_LOW_LATENCY_LOG = 0x00100000,
PS_FRAMERATE_MONITOR_CTRL_ENABLE_ON_VSYNC = 0x00800000,
PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_MASK = 0x0000F000,
PS_FRAMERATE_MONITOR_CTRL_VSYNC_OFFSET_SHIFT = 12,
@@ -824,8 +833,10 @@ enum EValues_SHIM_RENDERING_OPTIONS {
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 25,
SHIM_RENDERING_OPTIONS_DEFAULT = SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 27,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000
};
enum EValues_SLI_GPU_COUNT {
@@ -1021,7 +1032,7 @@ enum EValues_WKS_STEREO_DONGLE_SUPPORT {
WKS_STEREO_DONGLE_SUPPORT_DAC = 1,
WKS_STEREO_DONGLE_SUPPORT_DLP = 2,
WKS_STEREO_DONGLE_SUPPORT_NUM_VALUES = 3,
WKS_STEREO_DONGLE_SUPPORT_DEFAULT = WKS_STEREO_DONGLE_SUPPORT_OFF
WKS_STEREO_DONGLE_SUPPORT_DEFAULT = WKS_STEREO_DONGLE_SUPPORT_DAC
};
enum EValues_WKS_STEREO_SUPPORT {
@@ -1063,7 +1074,6 @@ enum EValues_AUTO_LODBIASADJUST {
AUTO_LODBIASADJUST_DEFAULT = AUTO_LODBIASADJUST_ON
};
enum EValues_EXPORT_PERF_COUNTERS_DX9_ONLY {
EXPORT_PERF_COUNTERS_DX9_ONLY_OFF = 0x00000000,
EXPORT_PERF_COUNTERS_DX9_ONLY_ON = 0x00000001,

View File

@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NVIDIA Profile Inspector")]
[assembly: AssemblyCopyright("©2019 by Orbmu2k")]
[assembly: AssemblyCopyright("©2020 by Orbmu2k")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

View File

@@ -515,6 +515,7 @@
this.lvSettings.SelectedIndexChanged += new System.EventHandler(this.lvSettings_SelectedIndexChanged);
this.lvSettings.DoubleClick += new System.EventHandler(this.lvSettings_DoubleClick);
this.lvSettings.Resize += new System.EventHandler(this.lvSettings_Resize);
this.lvSettings.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvSettings_KeyDown);
//
// chSettingID
//

View File

@@ -10,6 +10,7 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -667,7 +668,19 @@ namespace nspector
private async Task ScanProfilesSilentAsync(bool scanPredefined, bool showProfileDialog)
{
if (_skipScan)
{
if (scanPredefined && !_alreadyScannedForPredefinedSettings)
{
_alreadyScannedForPredefinedSettings = true;
_meta.ResetMetaCache();
tsbModifiedProfiles.Enabled = true;
exportUserdefinedProfilesToolStripMenuItem.Enabled = false;
RefreshCurrentProfile();
}
return;
}
tsbModifiedProfiles.Enabled = false;
tsbRefreshProfile.Enabled = false;
@@ -813,7 +826,7 @@ namespace nspector
new Thread(SetTaskbarIcon).Start();
await ScanProfilesSilentAsync(true, false);
if (!_scannerCancelationTokenSource.Token.IsCancellationRequested && WindowState != FormWindowState.Maximized)
if (_scannerCancelationTokenSource != null && !_scannerCancelationTokenSource.Token.IsCancellationRequested && WindowState != FormWindowState.Maximized)
{
new MessageHelper().bringAppToFront((int)this.Handle);
}
@@ -1032,6 +1045,7 @@ namespace nspector
{
_import.ImportAllProfilesFromNvidiaTextFile(openDialog.FileName);
MessageBox.Show("Profile(s) successfully imported!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
DrsSessionScope.DestroyGlobalSession();
RefreshAll();
}
catch (NvapiException)
@@ -1184,6 +1198,39 @@ namespace nspector
_scannerCancelationTokenSource?.Cancel();
SaveSettings();
}
private void lvSettings_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.C)
{
CopyModifiedSettingsToClipBoard();
}
}
private void CopyModifiedSettingsToClipBoard()
{
var sbSettings = new StringBuilder();
sbSettings.AppendFormat("{0,-40} {1}\r\n", "### NVIDIA Profile Inspector ###", _CurrentProfile);
foreach (ListViewGroup group in lvSettings.Groups)
{
bool groupTitleAdded = false;
foreach (ListViewItem item in group.Items)
{
if (item.ImageIndex != 0) continue;
if(!groupTitleAdded)
{
sbSettings.AppendFormat("\r\n[{0}]\r\n", group.Header);
groupTitleAdded = true;
}
sbSettings.AppendFormat("{0,-40} {1}\r\n", item.Text, item.SubItems[1].Text);
}
}
Clipboard.SetText(sbSettings.ToString());
}
}
}