任务栏中的Inno设置窗口预览
当您将鼠标悬停在任务栏内的所有图标上时,所有程序和打开的文件均具有预览.
All of the programs and opened files have a preview when you hover the mouse on their icons inside the taskbar.
但是对于Inno Setup进行的安装程序而言,似乎没有预览.有解决此问题的解决方法吗?
But for Inno Setup made installers it seems there is no preview. Any fix or trick to solve this issue?
尽管某些具有自定义设计的游戏安装程序(使用Inno Setup)在任务栏中具有预览.例如:
http://fs2.filegir.com/cuttlas/setup.exe
Though some game installers with custom design (which use Inno Setup) have a preview in the taskbar. For example:
http://fs2.filegir.com/cuttlas/setup.exe
我找到了一个很好的库来解决这个问题:
I have found a great library to solve this:
https://mega.co.nz/#F!RcQkhSxI!_ZsnpdapAeoVVWEgVw2iMQ
使用 WinTB v2.0
,您可以轻松地在任务栏上打开预览:
using WinTB v2.0
you can easily turn on the preview on the Taskbar:
#include "WinTB.iss"
[Setup]
AppName=Wintb.dll example
AppVersion=2.0
DefaultDirName={pf}\Wintb.dll example
DefaultGroupName=Wintb.dll example
OutputDir=.
[files]
Source: wintb.dll; Flags: dontcopy;
[code]
procedure InitializeWizard();
begin
ExtractTemporaryFile('wintb.dll');
Win7TaskBar11();
end;
没有任何外部插件或dll,可以通过以下技巧解决:
without any external plugin or dll, it can be solved by this trick:
[Code]
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongW@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';
Function GetWindow (HWND: Longint; uCmd: cardinal): Longint;external 'GetWindow@user32.dll stdcall';
procedure InitializeWizard();
begin
SetWindowLong(WizardForm.Handle, -8,GetWindowLong(GetWindow(WizardForm.Handle, 4),-8));
end;