Когда Mozilla Firefox устанавливается, установщик устанавливает Mozilla на панели задач, и я тоже хочу!Записать приложение на панели задач в проекте настройки визуальной студии
Я использую VS2010
Когда Mozilla Firefox устанавливается, установщик устанавливает Mozilla на панели задач, и я тоже хочу!Записать приложение на панели задач в проекте настройки визуальной студии
Я использую VS2010
private static void PinUnpinTaskBar(string filePath, bool pin) {
if (!File.Exists(filePath)) throw new FileNotFoundException(filePath);
// create the shell application object
Shell shellApplication = new ShellClass();
string path = Path.GetDirectoryName(filePath);
string fileName = Path.GetFileName(filePath);
Folder directory = shellApplication.NameSpace(path);
FolderItem link = directory.ParseName(fileName);
FolderItemVerbs verbs = link.Verbs();
for (int i = 0; i < verbs.Count; i++) {
FolderItemVerb verb = verbs.Item(i);
string verbName = verb.Name.Replace(@"&", string.Empty).ToLower();
if ((pin && verbName.Equals("pin to taskbar")) || (!pin && verbName.Equals("unpin from taskbar"))) {
verb.DoIt();
}
}
shellApplication = null;
}
обязательно включать в себя "Управление Microsoft Shell и автоматизации" ссылка
и сказать спасибо @James Джонстон - его original post
Я хочу, чтобы установщик подключил приложение, а не приложение. где я должен ввести этот код ?! : @ – TYeeTY
он привязал бы .lnk (shorcut) к панели задач, если вы хотите, чтобы установщик сделал это, запустите скрипт http://blogs.technet.com/b/deploymentguys/archive/2009/04/ 08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx –
Vb.net Фрагмент кода для Pin to/Unpin из панели задач и меню «Пуск». (Рамочный 3,5)
Dim shellApplication As Shell = New ShellClass()
Dim directoryName As String = Path.GetDirectoryName(filePath)
Dim fileName As String = Path.GetFileName(filePath)
Dim directory As Shell32.Folder = shellApplication.[NameSpace](directoryName)
Dim link As FolderItem = directory.ParseName(fileName)
Dim verbs As FolderItemVerbs = link.Verbs()
For i As Integer = 0 To verbs.Count - 1
Dim verb As FolderItemVerb = verbs.Item(i)
Dim verbName As String = verb.Name.Replace("&", String.Empty)
If (verbName.Equals("Pin to Start Menu")) Or (verbName.Equals("Unpin from Start Menu")) Then
verb.DoIt()
End If
Next
shellApplication = Nothing
«Filepath это путь EXE-файла, который вы хотите прикрепить/открепить панель задач
В случае пиннингу/открепление Taskbar заменить„Закрепить в меню Пуск“с«булавкой к Панель задач» и„Изъять из меню Пуск“, чтобы„отколоть от панели задач“
Все возлагали файлы находится в
C:\Users\%LoggedIn_User_Name%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned
Этот код работает на Windo ws7 US English.
Cheers!
Я программист на C#, но это не вопрос. Я хочу, чтобы установщик сделал это для меня, поэтому, где я должен писать эти коды? – TYeeTY
, если вы получите сообщение об ошибке типа 'Interop type 'ActiveHomeScriptLib.ActiveHomeClass' не может быть встроено. Вместо этого используйте применимый интерфейс. «Вы должны установить свойство« Вставить типы взаимодействия »для сборки shell32 в« False ». https://stackoverflow.com/questions/2483659/interop-type-cannot-be-embedded – PeterCo
Корпорация Майкрософт не рекомендует устанавливать связь с панелью задач. http://blogs.msdn.com/b/oldnewthing/archive/2014/12/30/10583474.aspx – Abhishek