Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Mailchik



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#define ExeName "MyProg.exe"    ;Exe файл который нужно закрепить
 
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Tasks]
Name: PinToTaskBar; Description: {cm:cTaskBarTxt}; MinVersion: 0,6.0;
Name: PinToSrartMenu; Description: {cm:cStartMenuTxt}; MinVersion: 0,6.0;
 
[Languages]
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "en"; MessagesFile: "compiler:Languages\English.isl"
 
[CustomMessages]
ru.cTaskBarTxt=Закрепить на панели задач
ru.cStartMenuTxt=Закрепить в меню "Пуск"
en.cTaskBarTxt=Pin to Taskbar
en.cStartMenuTxt=Pin to Start Menu
 
rucStartMenuTxt=Закрепить в меню "Пуск"
rucTaskBarTxt=Закрепить на панели задач
rucTaskBarTxt2=Закрепить программу в панели задач
encStartMenuTxt=Pin to Start Menu
encTaskBarTxt=Pin to Taskbar
 
ruUNcStartMenuTxt=Изъять из меню "Пуск"
ruUNcTaskBarTxt=Открепить от панели задач
ruUNcTaskBarTxt2=Изъять программу из панели задач
enUNcStartMenuTxt=Unpin from Start Menu
enUNcTaskBarTxt=Unpin from Taskbar
 
[Code]
procedure Win7PinProg(inFilePath: string; inFileName: String; PinProgOn: integer; UnPIN: boolean);
var
  oShell: variant;
  objFolder: variant;
  objFolderItem: variant;
  colVerbs: variant;
  VerbName, cStartMenuTxt, cTaskBarTxt, cTaskBarTxt2, sLang: string;
  i : integer;
begin
  oShell := CreateOleObject('Shell.Application');
  objFolder := oShell.Namespace(inFilePath);
  objFolderItem := objFolder.ParseName(inFileName);
  colVerbs := objFolderItem.Verbs();
  for i := 0 to colVerbs.Count() do
  begin
    VerbName := Lowercase(colVerbs.Item(i).Name);
    StringChangeEx(VerbName, '&', '', True);
    if GetUILanguage = $0419 then
      sLang := 'ru' else sLang := 'en';
    if UnPIN then begin
      cStartMenuTxt := ExpandConstant('{cm:' + sLang + 'UNcStartMenuTxt}');
      cTaskBarTxt := ExpandConstant('{cm:' + sLang + 'UNcTaskBarTxt}');
      cTaskBarTxt2 := ExpandConstant('{cm:' + sLang + 'UNcTaskBarTxt2}');
    end else begin
      cStartMenuTxt := ExpandConstant('{cm:' + sLang + 'cStartMenuTxt}');
      cTaskBarTxt := ExpandConstant('{cm:' + sLang + 'cTaskBarTxt}');
      cTaskBarTxt2 := ExpandConstant('{cm:' + sLang + 'cTaskBarTxt2}');
    end;
 
    if (VerbName = cStartMenuTxt) and (PinProgOn = 1) then
        colVerbs.Item(i).DoIt;
    if ((VerbName = cTaskBarTxt) or (VerbName = cTaskBarTxt2)) and (PinProgOn = 2) then
        colVerbs.Item(i).DoIt;
  end;
end;
 
procedure CurPageChanged(CurPageID: integer);
begin
  case CurPageID of
    wpFinished: begin
      if WizardForm.TasksList.Checked[0] then
        Win7PinProg(WizardDirValue, '{#ExeName}', 2, false);
      if WizardForm.TasksList.Checked[1] then
        Win7PinProg(WizardDirValue, '{#ExeName}', 1, false);
    end;
  end;
end;
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  instPath: string;
begin
  if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppName")}_is1',
    'InstallLocation', instPath) then begin
    case CurUninstallStep of
      usUninstall: begin
        Win7PinProg(instPath, '{#ExeName}', 2, true);
        Win7PinProg(instPath, '{#ExeName}', 1, true);
      end;
    end;
  end;
end;

Всего записей: 20 | Зарегистр. 06-07-2012 | Отправлено: 22:44 30-01-2014
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru