mirror of
https://github.com/mRemoteNG/mRemoteNG.git
synced 2026-02-17 22:11:48 +08:00
Update PuttySessionsRegistryProvider.cs
Update the latest fix for the putty registry watcher, to create the registry path if it does not exist, so the watcher is able to always run.
This commit is contained in:
@@ -111,12 +111,15 @@ namespace mRemoteNG.Config.Putty
|
||||
|
||||
try
|
||||
{
|
||||
var key = string.Join("\\", CurrentUserSid, PuttySessionsKey).Replace("\\", "\\\\");
|
||||
var keyName = string.Join("\\", CurrentUserSid, PuttySessionsKey).Replace("\\", "\\\\");
|
||||
|
||||
if (Registry.Users.OpenSubKey(string.Join("\\\\", CurrentUserSid, PuttySessionsKey)) == null) return;
|
||||
|
||||
var query = new WqlEventQuery(
|
||||
$"SELECT * FROM RegistryTreeChangeEvent WHERE Hive = \'HKEY_USERS\' AND RootPath = \'{key}\'");
|
||||
var sessionsKey = Registry.Users.OpenSubKey(keyName);
|
||||
if (sessionsKey == null)
|
||||
{
|
||||
Registry.Users.CreateSubKey(keyName);
|
||||
}
|
||||
var query = new WqlEventQuery($"SELECT * FROM RegistryTreeChangeEvent WHERE Hive = \'HKEY_USERS\' AND RootPath = \'{keyName}\'");
|
||||
_eventWatcher = new ManagementEventWatcher(query);
|
||||
_eventWatcher.EventArrived += OnManagementEventArrived;
|
||||
_eventWatcher.Start();
|
||||
|
||||
Reference in New Issue
Block a user