Exemplo n.º 1
0
        public RootFolder(LocalShellFolderServer server, ShellItemIdList idList)
            : base(idList)
        {
            if (server == null)
            {
                throw new ArgumentNullException(nameof(server));
            }

            Server      = server;
            _dropTarget = new DropTargetShellFolder(this);
        }
Exemplo n.º 2
0
        static void Run(bool register)
        {
            var info = new DirectoryInfo(Path.GetFullPath("Data"));

            if (!info.Exists)
            {
                info.Create();
                info.Refresh();
            }

            using (var server = new LocalShellFolderServer(info))
            {
                var config = new ShellFolderConfiguration();
                if (register)
                {
                    config.NativeDllRegistration = RegistrationMode.User;
                }

#if DEBUG
                config.Logger = new Core.Utilities.ConsoleLogger();
#endif
                server.Start(config);

                var idl = ShellFolderServer.RootIdList;
                Console.WriteLine("Started listening on proxy id " + ShellFolderServer.ProxyId + ", folder id " + ShellFolderServer.FolderId + ". Press ESC key to stop serving folders.");
                Console.WriteLine("If you open Windows Explorer and have registered, you should now see the extension.");
                do
                {
                    var key = Console.ReadKey(true);
                    if (key.Key == ConsoleKey.Escape)
                    {
                        break;
                    }

                    if (key.Key == ConsoleKey.C)
                    {
                        Console.Clear();
                        continue;
                    }
                }while (true);
                Console.WriteLine("Stopped");
            }
        }