Achtergrond
In één van mijn applicaties (MicroSE JumpIt) gebruik ik een functie waarmee snelkoppelingen automatisch aan de taakbalk "vastgepind" kunnen worden. In deze applicatie kan je lijstjes "profielen" maken om snelkoppelingen aan de taakbalk te maken. (Ook wel JumpLists genomend). Via de applicatie kan je een profiel met een knopje op de taakbalk vastpinnen.
Hiervoor gebruik ik de volgende code:
Dit werkt perfect in Windows 7, 8, 8.1...
Het probleem
Het werkt niet in Windows 10. Op regel 20 hierboven wordt gecontroleerd op een shell item met de naam "Pin to taskbar" of "Unpin from taskbar" En in de verkenner wordt deze ook netjes getoond. Alleen de API geeft deze niet terug. Er is ook geen ander item in de lijst met vergelijkbare functionaliteit.
Dit zijn de Verbs die de Windows Shell teruggeeft:
Wel een Pin to Start, maar geen Pin to Taskbar.
Mijn vraag
Weet iemand een oplossing voor het probleem? Alles wat ik op google heb gevonden is de bovenstaande code. Maar dat werkt niet meer op Windows 10.
In één van mijn applicaties (MicroSE JumpIt) gebruik ik een functie waarmee snelkoppelingen automatisch aan de taakbalk "vastgepind" kunnen worden. In deze applicatie kan je lijstjes "profielen" maken om snelkoppelingen aan de taakbalk te maken. (Ook wel JumpLists genomend). Via de applicatie kan je een profiel met een knopje op de taakbalk vastpinnen.
Hiervoor gebruik ik de volgende code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| public static void PinUnpinTaskBar(FileInfo fileInfo, bool pin) { if (!fileInfo.Exists) throw new FileNotFoundException(fileInfo.FullName); // create the shell application object var shellApplication = new ShellClass(); string path = fileInfo.DirectoryName; string fileName = fileInfo.Name; Folder directory = shellApplication.NameSpace(path); FolderItem link = directory.ParseName(fileName); var verbs = link.Verbs().OfType<FolderItemVerb>(); foreach (var v in verbs) { var n = v.Name.Replace(@"&", string.Empty).ToLower(); if (pin && pinItems.Contains(n) || !pin && unpinItems.Contains(n)) { v.DoIt(); } } shellApplication = null; } |
Dit werkt perfect in Windows 7, 8, 8.1...
Het probleem
Het werkt niet in Windows 10. Op regel 20 hierboven wordt gecontroleerd op een shell item met de naam "Pin to taskbar" of "Unpin from taskbar" En in de verkenner wordt deze ook netjes getoond. Alleen de API geeft deze niet terug. Er is ook geen ander item in de lijst met vergelijkbare functionaliteit.
Dit zijn de Verbs die de Windows Shell teruggeeft:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| &Open Open file locat&ion Run as &administrator Troubleshoot compatibilit&y &Pin to Start Restore previous &versions Cu&t &Copy Create &shortcut &Delete Rena&me P&roperties |
Wel een Pin to Start, maar geen Pin to Taskbar.
Mijn vraag
Weet iemand een oplossing voor het probleem? Alles wat ik op google heb gevonden is de bovenstaande code. Maar dat werkt niet meer op Windows 10.