Exemple #1
0
        private void DriveThread(object state)
        {
            var logger = new Logger(this);
            var config = new ShellFolderConfiguration();

            config.Logger = logger;

            ShellFolderServer.RegisterNativeDll(RegistrationMode.User);
            ShellUtilities.RefreshShellViews();

            do
            {
                try
                {
                    using (_server = new OnDemandShellFolderServer(new DirectoryInfo(DriveService.AllRootsPath)))
                    {
                        _server.Start(config);
                        AppendText("Started listening on proxy id " + ShellFolderServer.ProxyId);
                        _serverStopEvent.WaitOne();
                        _server = null;
                        return;
                    }
                }
                catch (Exception e)
                {
                    logger.Log(TraceLevel.Error, "An error occurred: " + e);
                    Thread.Sleep(1000);
                }
            }while (true);
        }
Exemple #2
0
 private void Unregister_Click(object sender, RoutedEventArgs e)
 {
     ShellFolderServer.UnregisterNativeDll(RegistrationMode.User);
     ShellUtilities.RefreshShellViews();
     AppendText("Native proxy was unregistered from HKCU.");
 }