Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для kotkovets

Ветеран


Сообщения: 1216
Благодарности: 486

Профиль | Отправить PM | Цитировать


Наткнулся на плагин: InvokeShellVerb Plugin for NSIS
Этот плагин вызывает командную оболочку Shell: правой клавишей мышью - контектстное меню файлов и папок
и вызывает выбранный пункт меню на исполнение
Но напрямую использовать плагин совершенно неудобно, даже сказал бы - невозможно без определенных знаний.
Поэтому написал хедер для удобного использования плагина:
InvokeShellVerb.nsh
Код: Выделить весь код
!ifndef INVOKESHELLVERB_INCLUDED
!define INVOKESHELLVERB_INCLUDED

!macro __DefineTaskbar Def ID
  !define ${Def}Taskbar "!insertmacro Shellverb ${ID}"
!macroend
!insertmacro __DefineTaskbar "PinTo" "5386"
!insertmacro __DefineTaskbar "UnPin" "5387"

!macro __DefinePusk Def ID
  !define ${Def}Pusk "!insertmacro Shellverb ${ID}"
!macroend

!insertmacro __DefinePusk "PinTo" "5381"
!insertmacro __DefinePusk "UnPin" "5382"

!macro __DefineAdmin Def ID
  !define ${Def}Admin "!insertmacro Shellverb ${ID}"
!macroend
!insertmacro __DefineAdmin "Run" "8505"

!macro Shellverb ID filename
   Push `${ID}`
   Push `${filename}`
   System::Store SR0R1
   IfFileExists `$R0` 0 +5
   System::Call "shlwapi::PathRemoveFileSpecW(wR0R3)"
   System::Call "shlwapi::PathStripPathW(wR0R2)"
   InvokeShellVerb::DoIt "$R3" "$R2" "$R1"
   Pop $R0
   System::Store L
!macroend 

!endif

Сохраняем файл InvokeShellVerb.nsh (для юникодной NSIS - в любом юникоде) рядом со скриптом или в папке NSIS\Include
Скачиваем плагин, копируем InvokeShellVerb.dll (для юникодной NSIS файл берем из папки Unicode архива) в NSIS\Plugins
Далее подключаем хедер к телу скрипта:
Код: Выделить весь код
!include "InvokeShellVerb.nsh"
Закрепляем приложение на панели задач
- только для Vista и выше, в Win8 - работает, платформа любая: х86 или х64.
Код: Выделить весь код
${PinToTaskBar} "$WINDIR\notepad.exe"

Открепляем приложение от панели задач
- только для Vista и выше, в Win8 - работает, платформа любая: х86 или х64.
Код: Выделить весь код
${UnPinTaskBar} "$WINDIR\notepad.exe"

Закрепляем приложение в меню «Пуск»

Код: Выделить весь код
${PinToPusk} "$WINDIR\notepad.exe"

Открепляем приложение в меню «Пуск»

Код: Выделить весь код
${UnPinPusk} "$WINDIR\notepad.exe"

-------
Спасибо ВСЕМ за то, что тратите свое время, что бы ПОМОЧЬ МНЕ.


Последний раз редактировалось kotkovets, 08-01-2012 в 17:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:58, 08-01-2012