Я ищу способ скрыть определенные значки с рабочего стола. У меня обычно есть много значков на моем рабочем столе (что делает поиск файла реальным хлопотом), поэтому я хотел бы написать небольшой инструмент, который «фильтрует» их по мере ввода. Я не хочу «перемещать» или удалять их, просто спрятать (или затемнить) их. Я знаю, как переключать отображение скрытых статусов всех значков одновременно, но не на основе значка. Есть идеи?Можно ли скрыть определенные значки рабочего стола с помощью C#?
ответ
Я попытался каким-то образом перейти к управлению рабочим столом ListView
(используя Win32 API). Затем я либо нарисую полупрозрачные прямоугольники над предметами, которые я хочу скрыть (вы можете запросить прямоугольники элементов с помощью макроса/сообщения ListItem_GetItemRect
), временно удалять элементы из элемента управления списком, устанавливать статус элементов на CUT
(который исчезает), или я попытаюсь манипулировать списком изображений в виде списка, чтобы добавить прозрачное изображение и установить для него изображения этого элемента.
Но я не знаю, будет ли этот подход работать ... И я не уверен, попытаюсь ли я попробовать это на C# (я бы предпочел использовать C++).
мне очень нравится идея прямоугольник! Я тоже попробую. Я думаю, что останусь в .Net, мой опыт Win32 C++ почти равен нулю. – crono
@crono, я думаю, что ваш лучший вариант - добавить ссылку на библиотеку COM «Microsoft Shell Control And Automation» и использовать объект Shell32.Shell. а затем перечислить ярлыки и установить атрибуты файла (FileAttributes.Hidden) ярлыков.
Проверьте эти ссылки, чтобы узнать больше.
увидеть этот простой пример, не является полным, это просто проект.
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Shell32; //"Microsoft Shell Control And Automation"
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Shell32.Shell oShell;
Shell32.Folder oFldr;
oShell = new Shell32.Shell();
oFldr = oShell.NameSpace(Shell32.ShellSpecialFolderConstants.ssfDESKTOP);//point to the desktop
foreach (Shell32.FolderItem oFItm in oFldr.Items()) //get the shotrcuts
{
if (oFItm.IsLink)
{
Console.WriteLine("{0} {1} ", oFItm.Name, oFItm.Path);
bool isArchive = ((File.GetAttributes(oFItm.Path) & FileAttributes.Archive) == FileAttributes.Archive);
//bool isHidden = ((File.GetAttributes(oFItm.Path) & FileAttributes.Hidden) == FileAttributes.Hidden);
if (isArchive) //Warning, here you must define the condition for hide the shortcut. in this case only check if has set the Archive atribute.
{
//Now you can set FileAttributes.Hidden atribute
//File.SetAttributes(oFItm.Path, File.GetAttributes(oFItm.Path) | FileAttributes.Hidden);
}
}
else
{
Console.WriteLine("{0} {1} ", oFItm.Name, oFItm.Path);
}
}
Console.ReadKey();
}
}
}
Это хорошая идея, но я думаю, что это сработает, если я установлю «отображение скрытых файлов» на «ложь», что у меня есть «на» большую часть времени. Может быть, я могу изменить его «на лету» ... Я посмотрю. Благодаря :) – crono
- 1. Скрыть/Показать элементы рабочего стола с помощью C#
- 2. C# Обновление рабочего стола рабочего стола
- 3. Начальные сокеты с .NET/C#: Запросить значки рабочего стола
- 4. Скрыть иконки рабочего стола Mac с эффектом затухания?
- 5. Изменить фон рабочего стола с помощью VB.NET
- 6. Как перемещать значки рабочего стола Windows с помощью python 2.7?
- 7. Замена рабочего стола с помощью приложения WPF
- 8. Можно ли изменить иконки рабочего стола TFS?
- 9. Можно ли расширить клиент рабочего стола (Windows)?
- 10. Скрыть пароль на код рабочего стола
- 11. Перетаскивание с рабочего стола с помощью Protractor
- 12. Прозрачная вкладка для отображения рабочего стола (обои и значки)
- 13. Можно ли скрыть определенные функции из документации с помощью пикши?
- 14. Можно создать приложение для рабочего стола facebook с помощью python?
- 15. положение значков рабочего стола
- 16. Захват снимка рабочего стола с помощью javascript
- 17. C# Обновление рабочего стола рабочего стола из класса
- 18. Захват рабочего стола с помощью directX 11
- 19. C# Установить окно за иконки рабочего стола
- 20. применения исполнителя, иконки рабочего стола
- 21. Размытый значок рабочего стола с помощью ClickOnce
- 22. Скрыть значки на рабочем столе из C# WPF
- 23. Можно ли скрыть определенные принтеры из Printdialog
- 24. показать/скрыть значки на рабочем столе из приложения C++
- 25. Scala для рабочего стола
- 26. Приложение, дублирующее значки рабочего стола и начального меню
- 27. Восстановить кредитное авизо от рабочего стола с помощью кода C#
- 28. Замена рабочего стола Windows
- 29. Можно ли подключить дату рабочего стола к microsoft excel?
- 30. Открыть файл с помощью рабочего стола (java.awt)
Если вы сделаете это приложение, отправить его мне, пожалуйста :) – anthares
Sure - не проблема, я бы с открытым исходным кодом оно в любом случае :-) – crono