@@ -457,14 +457,11 @@ private static IEnumerable<Win32> UnregisteredPrograms(List<string> directories,
457
457
458
458
private static IEnumerable < Win32 > StartMenuPrograms ( string [ ] suffixes , string [ ] protocols )
459
459
{
460
- var directory1 = Environment . GetFolderPath ( Environment . SpecialFolder . Programs ) ;
461
- var directory2 = Environment . GetFolderPath ( Environment . SpecialFolder . CommonPrograms ) ;
462
- var paths1 = EnumerateProgramsInDir ( directory1 , suffixes ) ;
463
- var paths2 = EnumerateProgramsInDir ( directory2 , suffixes ) ;
464
-
465
- var toFilter = paths1 . Concat ( paths2 ) ;
460
+ var allPrograms = GetStartMenuPaths ( )
461
+ . SelectMany ( p => EnumerateProgramsInDir ( p , suffixes ) )
462
+ . Distinct ( ) ;
466
463
467
- var programs = ExceptDisabledSource ( toFilter . Distinct ( ) )
464
+ var programs = ExceptDisabledSource ( allPrograms )
468
465
. Select ( x => GetProgramFromPath ( x , protocols ) ) ;
469
466
return programs ;
470
467
}
@@ -702,12 +699,10 @@ public override bool Equals(object obj)
702
699
703
700
private static IEnumerable < string > GetStartMenuPaths ( )
704
701
{
705
- var directory1 = Environment . GetFolderPath ( Environment . SpecialFolder . Programs ) ;
706
- var directory2 = Environment . GetFolderPath ( Environment . SpecialFolder . CommonPrograms ) ;
707
- return new [ ]
708
- {
709
- directory1 , directory2
710
- } ;
702
+ var userStartMenu = Environment . GetFolderPath ( Environment . SpecialFolder . StartMenu ) ;
703
+ var commonStartMenu = Environment . GetFolderPath ( Environment . SpecialFolder . CommonStartMenu ) ;
704
+
705
+ return new [ ] { userStartMenu , commonStartMenu } ;
711
706
}
712
707
713
708
public static void WatchProgramUpdate ( Settings settings )
0 commit comments