private void Restart_Click(object sender, RoutedEventArgs e) { ThreadPool.QueueUserWorkItem((state) => { var rm = new RestartManager(); rm.RestartExplorerProcesses((s) => { AppendText("Windows Explorer was stopped..."); }, false, out Exception error); AppendText("Windows Explorer was restarted..."); }); }
static void Main() { Initializer = new callback.CBFSShell.Cbshellboost(); Initializer.ProductGUID = ProductID; Console.WriteLine("CBFS Shell Samples - SevenZip Folder - Copyright (C) 2021-2022 Callback Technologies, Inc. All rights reserved."); Console.WriteLine("CBFS Shell Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '1' Register the native proxy, file associations, and run this sample."); Console.WriteLine(" '2' Unregister the native proxy and file associations."); Console.WriteLine(" '3' Restart Windows Explorer."); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); var key = Console.ReadKey(true); switch (key.KeyChar) { case '1': Register(true); // Important - Initialize must be called before using ShellBoost (except the calls to Install and Uninstall methods) Initializer.Initialize(); Run(); break; case '2': Initializer.PerUserInstallation = true; Initializer.Uninstall(); UnregisterAsVirtualFolder(".7z"); Console.WriteLine("Unregistered"); break; case '3': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; } }
static void Main() { Console.WriteLine("ShellBoost Samples - SevenZip Folder - Copyright (C) 2017-" + DateTime.Now.Year + " Aelyo Softworks. All rights reserved."); Console.WriteLine("ShellBoost Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '1' Register the native proxy, file associations, and run this sample."); Console.WriteLine(" '2' Unregister the native proxy and file associations."); Console.WriteLine(" '3' Restart Windows Explorer."); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); var key = Console.ReadKey(true); switch (key.KeyChar) { case '1': Run(); break; case '2': ShellFolderServer.UnregisterNativeDll(RegistrationMode.User); UnregisterAsVirtualFolder(".7z"); Console.WriteLine("Unregistered"); break; case '5': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; } }
static void Main() { const string testProperty = "ShellBoost.Samples.LocalFolder.IconUI"; string already = PropertySystem.GetPropertyDescription(testProperty, false) != null ? " (note: they are already registered)." : "."; Console.WriteLine("ShellBoost Samples - Local Folder - Copyright (C) 2017-" + DateTime.Now.Year + " Aelyo Softworks. All rights reserved."); Console.WriteLine("ShellBoost Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '1' Register the native proxy, run this sample, and unregister on exit."); Console.WriteLine(" '2' Register the native proxy."); Console.WriteLine(" '3' Run this sample (the native proxy will need to be registered somehow for Explorer to display something)."); Console.WriteLine(" '4' Unregister the native proxy."); Console.WriteLine(" '5' Restart Windows Explorer."); Console.WriteLine(" '6' Register Custom Properties for this sample" + already + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(" '7' Unregister Custom Properties for this sample." + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); string schemaLocation = new ShellFolderConfiguration().ExtractAssemblyResource(typeof(Program).Namespace + ".Resources.LocalFolder.propdesc"); do { var key = Console.ReadKey(true); if (key.Key == ConsoleKey.Escape) { return; } switch (key.KeyChar) { case '1': Run(true); ShellFolderServer.UnregisterNativeDll(RegistrationMode.User); return; case '2': ShellFolderServer.RegisterNativeDll(RegistrationMode.User); Console.WriteLine("Registered"); break; case '3': Run(false); return; case '4': ShellFolderServer.UnregisterNativeDll(RegistrationMode.User); Console.WriteLine("Unregistered"); break; case '5': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; case '6': try { PropertySystem.RegisterPropertySchema(schemaLocation); Console.WriteLine("Properties are registered. Schema location is: " + schemaLocation); } catch (Exception e) { Console.WriteLine("Properties cannot be registered: " + e.Message); } if (PropertySystem.GetPropertyDescription(testProperty, false) != null) { Console.WriteLine("Properties can be successfully retrieved from database."); } break; case '7': try { PropertySystem.UnregisterPropertySchema(schemaLocation); Console.WriteLine("Properties are unregistered."); } catch (Exception e) { Console.WriteLine("Properties cannot be unregistered: " + e.Message); } if (PropertySystem.GetPropertyDescription(testProperty, false) != null) { Console.WriteLine("Properties can be successfully retrieved from database. They should not."); } break; } }while (true); }
static void Main() { Initializer = new callback.CBFSShell.Cbshellboost(); Initializer.ProductGUID = ProductID; const string testProperty = "ShellBoost.Samples.LocalFolder.IconUI"; string already = PropertySystem.GetPropertyDescription(testProperty, false) != null ? " (note: they are already registered)." : "."; Console.WriteLine("CBFS Shell Samples - Local Folder - Copyright (C) 2021-2022 Callback Technologies, Inc. All rights reserved."); Console.WriteLine("CBFS Shell Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '1' Register the native proxy, run this sample, and unregister on exit."); Console.WriteLine(" '2' Register the native proxy."); Console.WriteLine(" '3' Run this sample (the native proxy will need to be registered somehow for Explorer to display something)."); Console.WriteLine(" '4' Unregister the native proxy."); Console.WriteLine(" '5' Restart Windows Explorer."); Console.WriteLine(" '6' Register Custom Properties for this sample" + already + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(" '7' Unregister Custom Properties for this sample." + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); string schemaLocation = new ShellFolderConfiguration().ExtractAssemblyResource(typeof(Program).Namespace + ".Resources.LocalFolder.propdesc"); do { var key = Console.ReadKey(true); if (key.Key == ConsoleKey.Escape) { return; } switch (key.KeyChar) { case '1': Register(true); // Important - Initialize must be called before using ShellBoost (except the calls to Install and Uninstall methods) Initializer.Initialize(); Run(); Initializer.PerUserInstallation = true; Initializer.Uninstall(); return; case '2': Register(true); break; case '3': // Important - Initialize must be called before using ShellBoost (except the calls to Install and Uninstall methods) Initializer.Initialize(); Run(); return; case '4': Initializer.PerUserInstallation = true; try { Initializer.Uninstall(); Console.WriteLine("Unregistered"); } catch (Exception ex) { Console.WriteLine("EXCEPTION: "); Console.WriteLine(ex.Message); } break; case '5': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; case '6': try { PropertySystem.RegisterPropertySchema(schemaLocation); Console.WriteLine("Properties are registered. Schema location is: " + schemaLocation); } catch (Exception e) { Console.WriteLine("Properties cannot be registered: " + e.Message); } if (PropertySystem.GetPropertyDescription(testProperty, false) != null) { Console.WriteLine("Properties can be successfully retrieved from database."); } break; case '7': try { PropertySystem.UnregisterPropertySchema(schemaLocation); Console.WriteLine("Properties are unregistered."); } catch (Exception e) { Console.WriteLine("Properties cannot be unregistered: " + e.Message); } if (PropertySystem.GetPropertyDescription(testProperty, false) != null) { Console.WriteLine("Properties can be successfully retrieved from database. They should not."); } break; } }while (true); }
static void Main(string[] args) { Console.WriteLine("ShellBoost Samples - Registry Folder - Copyright (C) 2017-" + DateTime.Now.Year + " Aelyo Softworks. All rights reserved."); Console.WriteLine("ShellBoost Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '1' Register the native proxy, run this sample, and unregister on exit."); Console.WriteLine(" '2' Register the native proxy."); Console.WriteLine(" '3' Run this sample (the native proxy will need to be registered somehow for Explorer to display something)."); Console.WriteLine(" '4' Unregister the native proxy."); Console.WriteLine(" '5' Restart Windows Explorer."); Console.WriteLine(" '6' Register Custom Properties for this sample." + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); var key = Console.ReadKey(true); switch (key.KeyChar) { case '1': Run(true); ShellFolderServer.UnregisterNativeDll(RegistrationMode.User); break; case '2': ShellFolderServer.RegisterNativeDll(RegistrationMode.User); Console.WriteLine("Registered"); break; case '3': Run(false); break; case '4': ShellFolderServer.UnregisterNativeDll(RegistrationMode.User); Console.WriteLine("Unregistered"); break; case '5': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; case '6': string location = new ShellFolderConfiguration().ExtractAssemblyResource(typeof(Program).Namespace + ".Resources.RegistryFolder.propdesc"); try { PropertySystem.RegisterPropertySchema(location); } catch (Exception e) { Console.WriteLine("Properties cannot be registered: " + e.Message); break; } Console.WriteLine("Properties are registered. Schema location: " + location); break; } }
static void Main(string[] args) { Initializer = new callback.CBFSShell.Cbshellboost(); Initializer.ProductGUID = ProductID; Console.WriteLine("ShellBoost Samples - Registry Folder - Copyright (C) 2021-2022 Callback Technologies, Inc. All rights reserved."); Console.WriteLine("ShellBoost Runtime Version " + typeof(ShellContext).Assembly.GetInformationalVersion()); Console.WriteLine(); Console.WriteLine("Press a key:"); Console.WriteLine(); Console.WriteLine(" '0' Register Custom Properties for this sample." + (DiagnosticsInformation.GetTokenElevationType() == TokenElevationType.Full ? string.Empty : " You need to restart as admin.")); Console.WriteLine(" '1' Register the native proxy, run this sample, and unregister on exit."); Console.WriteLine(" '2' Register the native proxy."); Console.WriteLine(" '3' Run this sample (the native proxy will need to be registered somehow for Explorer to display something)."); Console.WriteLine(" '4' Unregister the native proxy."); Console.WriteLine(" '5' Restart Windows Explorer."); Console.WriteLine(); Console.WriteLine(" Any other key will exit."); Console.WriteLine(); var key = Console.ReadKey(true); switch (key.KeyChar) { case '1': Register(true); // Important - Initialize must be called before using ShellBoost (except the calls to Install and Uninstall methods) Initializer.Initialize(); Run(); Initializer.PerUserInstallation = true; Initializer.Uninstall(); return; case '2': Register(true); break; case '3': // Important - Initialize must be called before using ShellBoost (except the calls to Install and Uninstall methods) Initializer.Initialize(); Run(); return; case '4': Initializer.PerUserInstallation = true; try { Initializer.Uninstall(); Console.WriteLine("Unregistered"); } catch (Exception ex) { Console.WriteLine("EXCEPTION: "); Console.WriteLine(ex.Message); } break; case '5': var rm = new RestartManager(); rm.RestartExplorerProcesses((state) => { Console.WriteLine("Explorer was stopped. Press any key to restart it ..."); Console.ReadKey(true); }, false, out Exception error); if (error != null) { Console.WriteLine("An error has occurred in restart manager: " + error); } break; case '0': string location = new ShellFolderConfiguration().ExtractAssemblyResource(typeof(registryfolderDemo).Namespace + ".RegistryFolder.propdesc"); try { PropertySystem.RegisterPropertySchema(location); } catch (Exception e) { Console.WriteLine("Properties cannot be registered: " + e.Message); break; } Console.WriteLine("Properties are registered. Schema location: " + location); break; } }