C# Получение элементов быстрого запуска Windows (Windows XP)
Я нахожусь на Windows XP и хочу прочитать с помощью C# все элементы быстрого запуска (на панели задач рядом с кнопкой окна).
Я нашел "решение" для чтения всех файлов из "C:\Documents and Settings\USER\Application Data\Microsoft\Internet Explorer\Quick Launch"
Но я хочу тот же порядок, что и в панели быстрого запуска.
Кто-нибудь может мне помочь?
ура
2 ответа
Порядок быстрого запуска сортировки сохраняется в виде двоичного значения TaskbarWinXP здесь:
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Streams \ Desktop
Вам нужно будет перепроектировать двоичный файл, чтобы получить порядок сортировки.
Расположение папки быстрого запуска
Если пользователь решил добавить ярлык быстрого запуска, нам нужно определить местоположение папки, в которой мы будем создавать ярлык. Функциональность панели быстрого запуска является частью Internet Explorer, а расположение папки для ярлыков быстрого запуска является частью данных приложения Internet Explorer. Папка быстрого запуска "Все пользователи" отсутствует, поэтому ярлык быстрого запуска всегда добавляется в папку быстрого запуска текущего пользователя, даже если пользователь выбирает установку для "Все".
Метод System.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]); }
Я надеюсь, что это то, что вам нужно.