Windows 7 - панель задач - контакт или ссылки программы неконтакта

Как в заголовке, там какой-либо API Win32, чтобы сделать это?

8
задан Oak Bytes 24 July 2012 в 17:16
поделиться

5 ответов

эта папка содержит ярлык пиннингового приложения

C:\Users\Your-User-Name\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar

.
0
ответ дан 5 December 2019 в 05:26
поделиться

Не делайте этого.

Я на 99% уверен, что для этого нет официального API, по той же самой причине, по которой не было программного доступа к старому пин-листу меню "Пуск" .

Короче говоря, большинству пользователей не нужны программы, помещающие мусор в их избранное, быстрый запуск, панель задач и т.д., так что Windows не поддерживает вас в этом качестве.

.
16
ответ дан 5 December 2019 в 05:26
поделиться

Я обнаружил, что официального API для этого нет, но кто-то сделал это через VBScript. http://blog.ananthonline.net/?p=37 Спасибо.

1
ответ дан 5 December 2019 в 05:26
поделиться

В комментариях к статье Code Project говорится, что все, что вам нужно сделать, это создать символическую ссылку в папке «C: \ Users \ Username \ AppData \ Roaming \ Microsoft \ Internet Explorer \ Quick Launch \ User Pinned \ TaskBar ".

Но, как отмечается в других комментариях, в целом это, по-видимому, нерациональная практика.

2
ответ дан 5 December 2019 в 05:26
поделиться

Вы можете подключать/отключать приложения с помощью глаголов Windows Shell:
http://blogs.technet.com/deploymentguys/archive/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx

Для API существует удобная для сценариев библиотека COM для работы с Shell:
http://msdn.microsoft.com/en-us/library/bb776890%28VS.85%29.aspx

Вот пример, написанный на JScript:

// Warning: untested and probably needs correction
var appFolder = "FOLDER CONTAINING THE APP/SHORTCUT";
var appToPin = "FILENAME OF APP/SHORTCUT";
var shell = new ActiveXObject("Shell.Application");
var folder = shell.NameSpace(appFolder);
var folderItem = folder.ParseName(appToPin);
var itemVerbs = folderItem.Verbs;
for(var i = 0; i < itemVerbs.Count; i++)
{
    // You have to find the verb by name,
    //  so if you want to support multiple cultures,
    //  you have to match against the verb text for each culture.
    if(itemVerbs[i].name.Replace(/&/, "") == "Pin to Start Menu")
    {
        itemVerbs[i].DoIt();
    }
}
3
ответ дан 5 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: