C # Получение элементов быстрого запуска Windows (Windows XP) - PullRequest
1 голос
/ 13 марта 2012

Я нахожусь на Windows XP и хочу прочитать с помощью C # все элементы быстрого запуска (на панели задач рядом с кнопкой окна).

Я нашел «решение» для чтения всех файлов из «C: \ Documents and Settings \ ПОЛЬЗОВАТЕЛЬ \ Данные приложения \ Microsoft \ Internet Explorer \ Quick Launch»

Но я хочу тот же порядок, что и на панели быстрого запуска.

Кто-нибудь может мне помочь?

ура

Ответы [ 2 ]

1 голос
/ 13 марта 2012

Порядок сортировки быстрого запуска сохраняется в виде двоичного значения TaskbarWinXP здесь:

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Streams \ Desktop

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

1 голос
/ 13 марта 2012

Местоположение папки быстрого запуска

Если пользователь решил добавить ярлык быстрого запуска, нам нужно определить местоположение папки, в которой мы будем создавать ярлык.Функциональность панели быстрого запуска является частью Internet Explorer, а расположение папки для ярлыков быстрого запуска является частью данных приложения Internet Explorer.Папка быстрого запуска «Все пользователи» отсутствует, поэтому ярлык быстрого запуска всегда добавляется в папку быстрого запуска текущего пользователя, даже если пользователь выбирает установку для «Все».

Система Метод .Environment.GetFolderPath , который мы использовали для поиска рабочего стола текущего пользователя, также может дать нам местоположение папки «Application Data» текущего пользователя.Нам нужно жестко закодировать расположение в папке Application Data для папки быстрого запуска.В демонстрационном проекте я сделал расположение папки быстрого запуска свойством класса ShortcutsInstaller, чтобы мне не нужно было повторять код расположения более чем в одном месте.Код для расположения папки быстрого запуска:

private string QuickLaunchFolder
{
  get
  {
    return
      Environment.GetFolderPath(
         Environment.SpecialFolder.ApplicationData)
         + "\\Microsoft\\Internet Explorer\\Quick Launch";
  }
}

Вы можете перейти по этой ссылке, она поможет вам Ссылка


Другой способбыло бы просто и устойчиво.

string apploc = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string []files =Directory.GetFiles(@apploc+@"\Microsoft\Internet Explorer\Quick Launch");
//Loop the string "files" in which every way you want.
for(int i=0 ; i<files.Length; i++)
{         MessageBox.Show(files[i]);       }

Надеюсь, это то, что вам нужно.

...