![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - [решено] Скрытие значков и гаджетов рабочего стола программно |
|
|
Разное - [решено] Скрытие значков и гаджетов рабочего стола программно
|
Новый участник Сообщения: 7 |
Здравствуйте. Меня интересует можно ли как ни будь программно скрывать/отображать значки и гаджеты рабочего стола
![]() т.е. ставить и убирать эти галочки. |
|
Отправлено: 18:35, 29-05-2011 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Скрытие всех значков на Рабочем столе
Cоздайте DWORD-параметр NoDesktop со значением 1 в разделе HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer __________________________________________________________________ Вот еще полезная информация и еще , ветка гаджетов вот : HKEY_CLASSES_ROOT\DesktopBackground\Shell\Gadgets , а дальше нужно экспериментировать . |
Отправлено: 15:56, 01-06-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата volod3000:
|
|
Отправлено: 20:38, 01-06-2011 | #3 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата MegaFlops:
произойдет перезапуск оболочки. |
|
------- Отправлено: 01:01, 02-06-2011 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Работает но эффект не такой как мне нужен.
Если скрывать через реестр, то срываются не только значки, но и перестаёт работать рабочий стол (в смысле не работает правый клик, выделение, перетаскивание). А если скрывать через правый клик --> вид --> отображать значки рабочего стола скрываются только значки, а остальное всё работает. Как быть а ? |
|
Отправлено: 22:53, 02-06-2011 | #5 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать вот код на C#, скрывает значки
using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Text; using System.ComponentModel; namespace WindowsFormsApplication1 { static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { DesktopIcons.Hide(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } public static class DesktopIcons { #region Declarations delegate bool EnumCallback(IntPtr hwnd, IntPtr lParam); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool EnumWindows(EnumCallback lpEnumFunc, IntPtr lParam); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern IntPtr GetWindow(IntPtr hWnd, GWConstants iCmd); enum GWConstants : int { GW_HWNDFIRST, GW_HWNDLAST, GW_HWNDNEXT, GW_HWNDPREV, GW_OWNER, GW_CHILD, GW_MAX } [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern int GetClassName(IntPtr hWnd, [Out] StringBuilder buf, int nMaxCount); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool ShowWindow(IntPtr hWnd, int nShow); [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool IsWindowVisible(IntPtr hWnd); #endregion static IntPtr hDesktop = IntPtr.Zero; #region Methods static string GetClassNameFromHWND(IntPtr hWnd) { StringBuilder sb = new StringBuilder(256); int len = GetClassName(hWnd, sb, sb.Capacity); if (len > 0) return sb.ToString(0, len); throw new Win32Exception(Marshal.GetLastWin32Error()); } public static void Show() { if (hDesktop != IntPtr.Zero && !IsWindowVisible(hDesktop)) ShowWindow(hDesktop, 5); else EnumWindows(new EnumCallback(EnumWins), (IntPtr)5); } public static void Hide() { if (hDesktop != IntPtr.Zero && IsWindowVisible(hDesktop)) ShowWindow(hDesktop, 0); else EnumWindows(new EnumCallback(EnumWins), IntPtr.Zero); } static bool EnumWins(IntPtr hWnd, IntPtr lParam) { if (hWnd != IntPtr.Zero) { IntPtr hDesk = GetWindow(hWnd, GWConstants.GW_CHILD); if (hDesk != IntPtr.Zero && GetClassNameFromHWND(hDesk) == "SHELLDLL_DefView") { hDesk = GetWindow(hDesk, GWConstants.GW_CHILD); if (hDesk != IntPtr.Zero && GetClassNameFromHWND(hDesk) == "SysListView32") { ShowWindow(hDesk, lParam.ToInt32()); hDesktop = hDesk; return false; } } } return true; } #endregion } } |
Последний раз редактировалось ferget, 03-06-2011 в 02:15. Отправлено: 01:43, 03-06-2011 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата ferget:
Всем кто помогал большое спасибо, вопрос снят. |
|
Отправлено: 15:32, 03-06-2011 | #7 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать А можно ли какой-либо батник или VBScript для этого сделать? Очень надо!
|
Отправлено: 12:02, 19-01-2013 | #8 |
Пользователь Сообщения: 68
|
Профиль | Отправить PM | Цитировать Помогите!
Скомпилируйте кто-нибудь этот код! Очень надо. Ребёнок замучил иконки эти таскать... Вот пример на Delphi, как включить / отключить все объекты на Рабочем Столе: |
Отправлено: 21:08, 01-04-2013 | #9 |
Ветеран Сообщения: 1255
|
http://rghost.ru/44957498
Desktop.exe /d Desktop.exe /e Запуск без параметров скрывает иконки, повторный запуск отображает. |
Последний раз редактировалось Сrack, 01-04-2013 в 22:36. Отправлено: 21:33, 01-04-2013 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Терминальный сервер и скрытие значков на панели | SniZ | Windows Server 2008/2008 R2 | 10 | 23-12-2010 13:17 | |
Обои и Значки - Размер значков рабочего стола | qmail123z | Оформление Windows XP | 1 | 05-10-2010 01:57 | |
Перенаправление Рабочего стола ! | Kobzar | Microsoft Windows NT/2000/2003 | 3 | 27-05-2010 16:43 | |
Конкурс - Изменение размера значков рабочего стола в Windows 7 | OSZone | Microsoft Windows 7 | 0 | 18-10-2009 20:30 | |
Интерфейс - Глюк рабочего стола | btc1 | Microsoft Windows Vista | 12 | 30-05-2008 12:07 |
|