Example #1
0
        private void applyWallpaperWin7(string path)
        {
            Shell32.Shell           shell      = new Shell32.ShellClass();
            Shell32.Folder          folder     = shell.NameSpace(Path.GetDirectoryName(path)) as Shell32.Folder;
            Shell32.FolderItem      folderItem = folder.ParseName(System.IO.Path.GetFileName(path));
            Shell32.FolderItemVerbs vs         = folderItem.Verbs();

            bool wallpaperSet = false;

            for (int i = 0; i < vs.Count; i++)
            {
                Shell32.FolderItemVerb ib = vs.Item(i);

                if (ib.Name.Contains("&b") || ib.Name.Contains("&B"))
                {
                    if (ib.Name.ToLower().Contains("background") || ib.Name.ToLower().Contains("背景"))
                    {
                        wallpaperSet = true;
                        ib.DoIt();
                    }
                }
            }

            if (wallpaperSet == false)
            {
                applyWallpaperXP(path);
            }
            else
            {
                downloadAndApplyWallpaperSucceeded();
            }
        }
Example #2
0
        /// <summary>
        /// 本地浏览器右键菜单“属性”条目事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void LocalPopupMenuProperty_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            const string discVerb   = "属性(&R)";
            Point        p          = this.ListViewLocal.PointToClient(new Point(menutrippoint.X, menutrippoint.Y));
            string       sourceFile = LocalPath + ListViewLocal.GetItemAt(p.X, p.Y).Text;
            FileInfo     file       = new FileInfo(sourceFile);

            Shell32.Shell      shell      = new Shell32.Shell();
            Shell32.Folder     folder     = shell.NameSpace(file.DirectoryName);
            Shell32.FolderItem folderItem = folder.ParseName(file.Name);
            foreach (Shell32.FolderItemVerb Fib in folderItem.Verbs())
            {
                if (Fib.Name == discVerb)
                {
                    Fib.DoIt();
                    break;
                }
            }
        }
 public override void QueryContextMenuItems(TreeViewFolderBrowserHelper helper, TreeNodePath node)
 {
     if (!EnableContextMenu)
     {
         return;
     }
     //
     Shell32.FolderItem fi = node.Tag as Shell32.FolderItem;
     if (fi == null)
     {
         return;
     }
     //
     foreach (Shell32.FolderItemVerb verb in fi.Verbs())
     {
         if (verb.Name.Length == 0)
         {
             continue;
         }
         //
         MenuItemShellVerb item = new MenuItemShellVerb(verb);
         helper.TreeView.ContextMenu.MenuItems.Add(item);
     }
 }