Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Изъять программЫ из панели задач

Ответить
Настройки темы
Любой язык - Изъять программЫ из панели задач

Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z Unpin all from Taskbar.vbs.7z
(537 байт, 0 просмотров)
Всем здравствуйте

Операционная система: Microsoft Windows 7 Professional Service Pack 1 x64 Russian

Вот здесь перейти скопировал код
Скрытый текст
Код: Выделить весь код
Option Explicit

Const CSIDL_APPDATA = &H1A

Dim objShell
Dim objFolder
Dim objFolderItem
Dim objVerb
Dim objCurrentUserAppData
Dim strCurrentUserAppData
Set objShell = CreateObject("Shell.Application")
Set objCurrentUserAppData = objShell.NameSpace(CSIDL_APPDATA)
strCurrentUserAppData = objCurrentUserAppData.Self.Path



'===================''==================='
' - Remove All Pinned Items -
'===================''==================='

Set objFolder = objShell.Namespace(strCurrentUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
For Each objFolderItem in objFolder.Items
  For Each objVerb in objFolderItem.Verbs
    If Replace(objVerb.name, "&", "") = "Unpin from Taskbar" Then objVerb.DoIt
  Next
Next
и вставил его в файл Unpin all from Taskbar.vbs - прилагаю

После запуска файла все значки, которые закреплены на панели задач - не изъялись из панели задач

Пожалуйста, поправьте код, что в нем не так

Спасибо.

Отправлено: 18:00, 02-11-2019

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата SharkyEXE:
что в нем не так »
Например, в нём не учитывается, что локализация ОС может отличаться от английской .

Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strUserAppData

Dim objFolder
Dim objFolderItem
Dim objVerb


With WScript.CreateObject("Shell.Application")
	strUserAppData = .NameSpace("shell:AppData").self.Path
	
	Set objFolder = .Namespace(strUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
	
	If Not objFolder Is Nothing Then
		For Each objFolderItem In objFolder.Items
			For Each objVerb In objFolderItem.Verbs
				WScript.Echo Replace(objVerb.Name, "&", "")
				
				Select Case LCase(Replace(objVerb.Name, "&", ""))
					Case "unpin from taskbar", "открепить от панели задач"
						WScript.Echo "Unpin [" & objFolderItem.Name & "]."
						objVerb.DoIt
					Case Else
						' Nothing to do
				End Select
			Next
		Next
		
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't determine path [" & strUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" & "]."
		WScript.Quit 1
	End If
End With

WScript.Quit 0

Но там хранятся данные (в виде ярлыков) не о всех закреплённых приложениях. Попробуйте, например, закрепить Солитер («C:\Program Files\Microsoft Games\FreeCell\FreeCell.exe») на Панели задач, а потом поискать его в указанном каталоге профиля пользователя. Сведения о его закреплении будут только в реестре — «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband».
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:41, 02-11-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Цитата Iska:
Сведения о его закреплении будут только в реестре — «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband» »
Пожалуйста, я Вас очень прошу, если можно, сделайте, чтобы 100%но откреплялось как из "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar", так и из "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband"

Отправлено: 20:43, 02-11-2019 | #3


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


SharkyEXE, не сделаю, поскольку единственно известный мне легальный способ уже изложен выше.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:08, 02-11-2019 | #4


Ветеран


Сообщения: 2417
Благодарности: 465

Профиль | Цитировать


Цитата Iska:
легальный способ »
Что значит "легальный"? Остальные способы запрещены законом?

Отправлено: 08:13, 03-11-2019 | #5


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Цитата Iska:
Iska »
Здравствуйте.

Эм, а считать данные из ветки "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" - если там чего-то будет (записи, дополнительные разделы внутри ветки), просто удалить записи или вообще по простому, по "тупому" (прошу прощения) - удалить ветку "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" - нет ветки, по моей идее и не будет закрепленного того же ярлыка Солитер («C:\Program Files\Microsoft Games\FreeCell\FreeCell.exe»)

Отправлено: 11:31, 03-11-2019 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата dislike:
Что значит "легальный"? »
Документированный и официально поддерживаемый.


Цитата SharkyEXE:
Эм, а считать данные из ветки "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" - если там чего-то будет (записи, дополнительные разделы внутри ветки), просто удалить записи или вообще по простому, по "тупому" (прошу прощения) - удалить ветку "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband" - нет ветки, по моей идее и не будет закрепленного того же ярлыка Солитер («C:\Program Files\Microsoft Games\FreeCell\FreeCell.exe») »
Пробуйте, на свой страх и риск.

P.S. Я вообще никогда не пользовал и не пользую закрепление приложений на Панели задач. Посему для меня это достаточно отвлечённая тема.

Отправлено: 11:59, 03-11-2019 | #7


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Цитата Iska:
Пробуйте, на свой страх и риск. »
Так я не могу, не умею, пожалуйста, если Вы можете - помогите это реализовать, добавьте в Ваш скрипт удалить ветку реестра "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband"

Отправлено: 12:54, 03-11-2019 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


На Ваш страх и риск:
Скрытый текст
Код: Выделить весь код
Option Explicit

Const HKEY_CURRENT_USER = &H80000001
Const strSubKey         = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband"


Dim strUserAppData

Dim objFolder
Dim objFolderItem
Dim objVerb


With WScript.CreateObject("Shell.Application")
	strUserAppData = .NameSpace("shell:AppData").self.Path
	
	Set objFolder = .Namespace(strUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar")
	
	If Not objFolder Is Nothing Then
		For Each objFolderItem In objFolder.Items
			For Each objVerb In objFolderItem.Verbs
				WScript.Echo Replace(objVerb.Name, "&", "")
				
				Select Case LCase(Replace(objVerb.Name, "&", ""))
					Case "unpin from taskbar", "открепить от панели задач"
						WScript.Echo "Unpin [" & objFolderItem.Name & "]."
						objVerb.DoIt
					Case Else
						' Nothing to do
				End Select
			Next
		Next
		
		Set objFolder = Nothing
	Else
		WScript.Echo "Can't determine path [" & strUserAppData & "\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar" & "]."
	End If
End With

If WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2").Get("StdRegProv").DeleteKey(HKEY_CURRENT_USER, Split(strSubKey, "\", 2)(1)) <> 0 Then
	WScript.Echo "Can't delete subkey [" & strSubKey & "]."
End If

WScript.Quit

Кроме того, полагаю, изменения в интерфейсе оболочки (в результате удаления в реестре) Вы увидите только после перезапуска оболочки (например, выход из сеанса/вход в систему).
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:15, 03-11-2019 | #9


Ветеран


Сообщения: 900
Благодарности: 86

Профиль | Отправить PM | Цитировать


Цитата Iska:
Iska »
Здравствуйте.

Большое Вам спасибо за помощь.

PS. В моем случае, после использования скрипта, происходит перезагрузка компьютера

Отправлено: 14:38, 03-11-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Изъять программЫ из панели задач

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Общее - [решено] Изъять программу из панели задач The_Immortal Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 13 13-12-2023 12:22
CMD/BAT - Батник и программы из панели задач Полина_Комиссарова@vk Скриптовые языки администрирования Windows 6 07-02-2017 12:44
Разное - [решено] Win 8.1 Pro - ЗНАЧОК "Изъять программу из панели задач" Lirik Nivas Microsoft Windows 8 и 8.1 2 19-08-2015 13:50
Слетел значок программы из панели задач и в пуске Usso Хочу все знать 4 29-07-2013 23:18
Интерфейс - После перезагрузки исчезли доп.панели с кнопками из панели задач (Win7). BombJack Microsoft Windows 7 2 20-04-2013 20:12




 
Переход