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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Vitalliano

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

[code]
const
    LOAD_LIBRARY_AS_DATAFILE = $2;
 
function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryExA@kernel32.dll stdcall';
function LoadString(hInstance: THandle; uID: SmallInt; var lpBuffer: Byte; nBufferMax: Integer): Integer; external 'LoadStringA@user32.dll stdcall';
 
//
function PinToTaskbarWin7(Filename: String): Boolean;
var
    hInst: THandle;
    buf: array [0..255] of byte;
    i: byte;
    strVerb, s: String;
    objShell, colverbs: Variant;
begin
    if not FileExists(Filename) then Exit;
    if (GetWindowsVersion shr 24 = 6) and ((GetWindowsVersion shr 16) and $FF = 1) then
    begin
        hInst := LoadLibraryEx(ExpandConstant('{sys}\shell32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE);
        for i := 0 to LoadString(hInst, 5386, buf[0], 255)-1 do strVerb := strVerb + Chr(Buf[i]);
        FreeDLL(hInst);
        try
            objShell := CreateOleObject('Shell.Application');
        except
            ShowExceptionMessage;
            Exit;
        end;
        colVerbs := objShell.Namespace(ExtractFileDir(Filename)).ParseName(ExtractFileName(Filename)).Verbs;
        for i := colVerbs.Count downto 1 do if colVerbs.Item[i].Name = strVerb then
        begin
            colVerbs.Item[i].DoIt;
            Result := True;
        end;
    end;
end;
 
procedure InitializeWizard();
begin
  //Присобачим Блокнот на панель задач
  if PinToTaskbarWin7('c:\windows\notepad.exe') then
    MsgBox('ok', mbInformation, MB_OK)
  else
    MsgBox('no', mbInformation, MB_OK);
end;

Всего записей: 89 | Зарегистр. 04-12-2007 | Отправлено: 21:55 18-09-2011 | Исправлено: Vitalliano, 22:02 18-09-2011
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru