MCPcopy Create free account
hub / github.com/codeyourweb/irma / ListStartMenuFolders

Function ListStartMenuFolders

windowslnkparser.go:40–57  ·  view source on GitHub ↗

ListStartMenuFolders return a []string of all available StartMenu folders

(verbose bool)

Source from the content-addressed store, hash-verified

38
39// ListStartMenuFolders return a []string of all available StartMenu folders
40func ListStartMenuFolders(verbose bool) (startMenu []string, err error) {
41 var usersDir []string
42
43 startMenu = append(startMenu, os.Getenv("SystemDrive")+`\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp`)
44
45 usersDir, err = RetrivesFilesFromUserPath(os.Getenv("SystemDrive")+"\\Users", false, nil, false, verbose)
46 if err != nil {
47 return startMenu, err
48 }
49
50 for _, uDir := range usersDir {
51 if !strings.HasSuffix(uDir, "Public") && !strings.HasSuffix(uDir, "Default") {
52 startMenu = append(startMenu, uDir+`\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup`)
53 }
54 }
55
56 return startMenu, err
57}
58
59// ListStartMenuLnkPersistence check for every *.lnk in Windows StartMenu folders and extract every executable path in those links
60func ListStartMenuLnkPersistence(verbose bool) (exePath []string, errors []error) {

Callers 1

Calls 1

Tested by

no test coverage detected