首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让ISSkin使用最新的Inno安装程序Unicode

让ISSkin使用最新的Inno安装程序Unicode
EN

Stack Overflow用户
提问于 2018-03-24 13:43:16
回答 1查看 815关注 0票数 3

我第一次尝试使用Inno设置的ISSkin。我想试试黑色的款式。所以我试了他们的样本:

代码语言:javascript
复制
[Setup]
AppName=ISSkin Example
AppVersion=1.0.0.2
DefaultDirName={pf}\ISSkin

[Files]
; Add the ISSkin DLL used for skinning Inno Setup installations.
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy

; Add the Visual Style resource contains resources used for skinning,
; you can also use Microsoft Visual Styles (*.msstyles) resources.
Source: Styles\Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy

[Icons]
Name: {group}\Uninstall =ISSkin; Filename: {app}\unins000.exe
代码语言:javascript
复制
[Code]
// The following code block is used to load the ISS, pass in
// NormalBlack.ini as the second parameter to LoadSkin to use
// the Black color scheme instead of the default Blue color
// scheme.

// Importing LoadSkin API from ISSkin.DLL
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

// Importing UnloadSkin API from ISSkin.DLL
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

// Importing ShowWindow Windows API from User32.DLL
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup(): Boolean;
begin
    ExtractTemporaryFile('Office2007.cjstyles');
    LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalBlack.ini');
    Result := True;
end;

procedure DeinitializeSetup();
begin
    // Hide Window before unloading skin so user does not get
    // a glimse of an unskinned window before it is closed.
    ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
    UnloadSkin();
end;

我没能让它开始工作。节目看上去很正常。

我注意到他们提供的软件日期是2010年。我正在使用最新的Unicode安装程序。

怎么用它来剥皮呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 17:32:13

对于Inno安装程序的Unicode版本,您应该使用plugin:ISSkinU.dll的Unicode版本。

代码语言:javascript
复制
[Files]
Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy
代码语言:javascript
复制
[Code]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskinU.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskinU.dll stdcall';

(代码的其余部分与您的问题相同)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49465374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档