Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
vadjliss
07-03-2016, 21:48
как сделать что бы программа закрепилась на панели задач
kotyarko@fb
08-03-2016, 00:12
vadjliss, http://forum.oszone.net/post-1988566-926.html
vadjliss
08-03-2016, 07:00
что то не получается
что то не получается »
Что именно не получается?
#define MyAppName "My Program"
#define MyAppVersion "1.5"
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
[Files]
Source: "{#compilerpath}Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
[Code]
const
LOAD_LIBRARY_AS_DATAFILE = $2;
#define A = (Defined UNICODE) ? "W" : "A"
function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryEx{#A}@kernel32.dll stdcall';
function LoadString(hInstance: THandle; uID: SmallInt; var lpBuffer: Char; nBufferMax: Integer): Integer; external 'LoadString{#A}@user32.dll stdcall';
function SHGetNewLinkInfo(pszLinkTo, pszDir: String; var pszName: Char; var pfMustCopy: Longint; uFlags: UINT): BOOL; external 'SHGetNewLinkInfo{#A}@shell32.dll stdcall';
function PinToTaskbar(const szFilename: String; IsPin: Boolean): Boolean;
// szFilename : full path to executable file
// IsPin......: False - unpin from TaskBar, True - pin to TaskBar
var
hInst: THandle;
buf: array [0..255] of Char;
i, res: Integer;
strLnk, strVerb: String;
objShell, colVerbs: Variant;
begin
Result := False;
if (GetWindowsVersion < $06010000) or not FileExists(szFilename) then Exit; { below Windows 7 }
{ String resources }
if IsPin then
begin
if SHGetNewLinkInfo(szFilename, ExpandConstant('{tmp}'), buf[0], res, 0) then
begin
while buf[Length(strLnk)] <> #0 do Insert(buf[Length(strLnk)], strLnk, Length(strLnk)+1);
if FileExists(ExpandConstant('{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\') + ExtractFileName(strLnk)) then Exit;
end;
res := 5386; { Pin to Tas&kbar }
end else res := 5387; { Unpin from Tas&kbar }
{ Load string resource }
hInst := LoadLibraryEx(ExpandConstant('{sys}\shell32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE);
if hInst <> 0 then
try
for i := 0 to LoadString(hInst, res, buf[0], 255)-1 do Insert(buf[i], strVerb, i+1);
try
objShell := CreateOleObject('Shell.Application');
colVerbs := objShell.Namespace(ExtractFileDir(szFilename)).ParseName(ExtractFileName(szFilename)).Verbs;
for i := 1 to colVerbs.Count do if CompareText(colVerbs.Item[i].Name, strVerb) = 0 then
begin
colVerbs.Item[i].DoIt;
Result := True;
Break;
end;
except
Exit;
end;
finally
FreeDLL(hInst);
end;
end;
{ Pin }
procedure CurStepChanged(CurStep: TSetupStep);
begin
case CurStep of
ssPostInstall: PinToTaskbar( ExpandConstant( '{app}\MyProg.exe' ), True );
end;
end;
{ UnPin }
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usUninstall: PinToTaskbar( ExpandConstant( '{app}\MyProg.exe' ), False );
end;
end;
vadjliss
08-03-2016, 18:00
saurn
благодарю теперь всё ок
Удалил, всё равно помощи никакой...
dimantv_wot@vk
15-03-2016, 20:11
Как в компонентах сделать что бы при выборе компонента ставилась галочка или кружок не нажимания на них а нажимая на текст
Многоуважаемые знатоки! Прошу Вас помочь мне внести исправления в мой скрипт и довести его до ума (это мой первый скрипт (делал программой inno setup compiler 5.5.8(а)), поэтому прошу строго не судить), он рабочий только на ХР, проверял на 8 и 10 не работает инсталлятор, он запускается, загружается Splash, затем должна включиться музыка, но она не включается, выводится это сообщение http://prnt.sc/afvdjr, на скриншоте в окне установки в самом низу после первой кнопки должны появится: вторая кнопка (отключения звука) и за ней третьей - регулятор громкости, но их нет, к сожалению моего микроума не хватает, чтобы довести до ума инсталлятор, поэтому еще раз прошу Вашей помощи, заранее благодарен, скрипт прилагаю (к сожалению он не вмещается здесь на форуме):
dimantv_wot@vk
16-03-2016, 19:48
Как Указать в скрипте путь для установке шрифтов в папку Windows
Dodakaedr
16-03-2016, 22:24
Как Указать в скрипте путь для установке шрифтов в папку Windows »
константа {fonts}
Как в компонентах сделать что бы при выборе компонента ставилась галочка или кружок не нажимания на них а нажимая на текст »
используйте расширенную версию inno setup
Ferling, попробуйте тоже расширенную версию inno setup
Dodakaedr, спасибо огромное, буду пробовать!
vovann01
17-03-2016, 11:42
Здравствуйте!)
Господа, у меня к вам просьба. Возможно я криворукий или слепой, а может быть что и просто не умею пользоваться поиском, но требуемую информацию найти не смог. Что смог, это всё не то что мне нужно. А нужно мне следующее:
В общем, что бы при установке, мне надо что бы установщик сохранял в архив определённые папки и файлы. Лучше всего что бы это делалось строенным архиватором.
И потом только начиналась установка.
Я не хочу от вас "готовый код", мне бы просто сам способ узнать, пример какой-нить а дальше я как-нить будь сам)
Спасибо
Установил я Inno Setup Compiler 5.5.1.ee2 (a) (build 121216), правда при установке ispack-5.5.1.exe не докачались файлы во время установки, на сколько я понял их там уже нету и все ссылки устарели (качал с этого форума расширенную версию и все поставил как было написано), скажу одно кака была - кака есть, на ХР запускается, на 8 и 10 нет, запускается сплэш, музыка не включается и выбивает сообщение о невозможности установки, может кто-то поможет все таки исправить ошибку?
Dodakaedr
17-03-2016, 21:42
Ferling, Давайте свой скрипт с файлами, посмотрим что можно сделать.
Я не хочу от вас "готовый код", мне бы просто сам способ узнать, пример какой-нить а дальше я как-нить будь сам) »
Когда-то давал пример, пробуйте Ссылка на пример (http://forum.oszone.net/post-2604713-1312.html)
Dodakaedr, вроде все собрал вместе https://yadi.sk/d/rfyd6SpsqGwSy, заранее благодарен!
Добрый день. Подскажите пожалуйста код, которым можно отправить пост запрос по ссылке. Просто пост запрос, без всяких открывающихся окон и т.д. и т.п.
Dodakaedr
19-03-2016, 19:57
Ferling, поправил что смог, там скорее всего еще проблема с isdone, но с ней не помогу.... с isdone не работал.
Скачать (http://sendfile.su/1216050)
Dodakaedr, Огр. спасибо! сейчас скачаю и посмотрю
AlekseyPopovv
20-03-2016, 06:46
Как создать свой MsgBox со своими параметрами?
Dodakaedr
20-03-2016, 12:17
Как создать свой MsgBox со своими параметрами? »
Вот с этого примера можно сделать себе свой msgbox http://forum.oszone.net/post-2577495-1081.html
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.