游戏客户端构成由游戏EXE文献和房间资源文献构成
举例斗田主 需要Land.exe 和斗田主房间文献(Locker.bmp,TableFrame.DAT,TableNormal.bmp,TablePlaying.bmp,UserReady.bmp)一共6个文献,看图:
现时用INNO SETUP运行打包
新建个INNO文献: 本色如下
;斗田主
;------------------------------------------------
;
;------------------------------------------------
[Setup]
;
;AppName AppId 决定了是否是换取的要津
;
AppName = 36qp ;阁下要津名,需跟大厅成就不异
AppId = 36qp ;阁下要津ID,需跟大厅成就不异
AppVerName = 湖南棋牌斗田主 ;游戏称呼
;不可选拔安设旅途
;安设旅途从注册表读取
DisableDirPage = yes
;安设时的默许的旅途
DefaultDirName = {reg:HKCU\Software\36qp\Plaza,Path}
;游戏主键
;莫得在运行菜单中的名字
DisableProgramGroupPage= yes
;安设文献的输出名
;安设文献的输出名
OutputDir = D:\Program Files\36qp\演示
;将打包文献输出到哪个目次
OutputBaseFilename = LandInstall
;打包输出的文献名
;是否使用畴前默许的旅途
UsePreviousAppDir = no
;
;单个游戏莫得我方的卸载
;
Uninstallable = no
;
;压缩
;
Compression = zip/9
SolidCompression = yes
;
;浮现的图
;
;WizardImageFile =
[Tasks]
;------------------------------------------------
;
;------------------------------------------------
[Files]
;
;exe
;
Source: D:\Program Files\36qp\Land.exe; DestDir: {app}; Flags: ignoreversion
;原游戏EXE,这里是斗田主LAND.exe
;
;dll
;
;
;other
;
Source: D:\Program Files\36qp\斗田主\Locker.bmp; DestDir: {app}\斗田主; Flags: ignoreversion
Source: D:\Program Files\36qp\斗田主\TableFrame.DAT; DestDir: {app}\斗田主; Flags: ignoreversion
Source: D:\Program Files\36qp\斗田主\TableNormal.bmp; DestDir: {app}\斗田主; Flags: ignoreversion
Source: D:\Program Files\36qp\斗田主\TablePlaying.bmp; DestDir: {app}\斗田主; Flags: ignoreversion
Source: D:\Program Files\36qp\斗田主\UserReady.bmp; DestDir: {app}\斗田主; Flags: ignoreversion
;游戏桌子资源原目次
;------------------------------------------------
;
;------------------------------------------------
[Icons]
;------------------------------------------------
; 需要在安设适度后运行的要津
;------------------------------------------------
[Run]
Filename: {app}\GamePlaza.exe; Flags: nowait postinstall skipifsilent
;
; 注册表
;
[Registry]
;------------------------------------------------
; 卸载的技艺要做的事情
;------------------------------------------------
[UninstallDelete]
[Code]
//导入一个Windows API 函数
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;
externalMessageBoxA@user32.dllstdcall;
//安设完成后
//更新游戏列表
procedure CurStepChanged(CurStep: TSetupStep);
var
hWnd: HWND;
begin
if CurStep=ssDone then
begin
hWnd := FindWindowByClassName(36qpPlaza);
if hWnd <> 0 then
begin
PostMessage(hWnd, 1124, 2021, 0); ;2021 是游戏的KINDID
//MessageBox(0, PostMessage(hWnd, 1124, 5, 0);, MessageBox, MB_OK);
end
end
end;
//------------------------------------------------
// the end
//------------------------------------------------
临了点生成,打包后的游戏客户端将会输出在你刚才成就的目次中 这里是OutputDir = D:\Program Files\36qp\演示