在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Innosetup互联网精简风格卸载

Innosetup互联网精简风格卸载

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:23.43M
  • 下载次数:5
  • 浏览次数:124
  • 发布时间:2022-11-04
  • 实例类别:一般编程问题
  • 发 布 人:RickScott
  • 文件格式:.zip
  • 所需积分:1

实例介绍

【实例简介】Innosetup互联网精简风格卸载

本Demo使用InnoSetup,结合botva2.dll和InnoCallback.dll实现Setup程序的界面美化

 main 
Go to file
@linxinfa
Latest commit f8f95f1 on 10 Oct 2020 History
 1 contributor
121 lines (106 sloc)  3.28 KB
[code]
Const
//窗口移动
WM_SYSCOMMAND = $0112;
GWL_STYLE = (-16);
ES_LEFT = 0;
ES_CENTER = 1;
ES_RIGHT = 2;
type
HDC=LongWord;
HFont=LongWord;
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(Wnd: HWnd; NewLong: Longint): Longint; external 'GetWindowLongA@user32.dll stdcall';
function CreateRoundRectRgn(p1, p2, p3, p4, p5, p6: Integer): THandle; external 'CreateRoundRectRgn@gdi32 stdcall';
function SetWindowRgn(hWnd: HWND; hRgn: THandle; bRedraw: Boolean): Integer; external 'SetWindowRgn@user32 stdcall';
function ReleaseCapture(): Longint; external 'ReleaseCapture@user32.dll stdcall';
procedure Misc_SetFormRoundRectRgn(aForm: TForm; edgeSize: integer);
var
FormRegion:LongWord;
begin
FormRegion:=CreateRoundRectRgn(0,0,aForm.Width,aForm.Height,edgeSize-6,edgeSize-6);
SetWindowRgn(aForm.Handle,FormRegion,True);
end;
//窗口移动
procedure _Misc_WizardFormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ReleaseCapture;
SendMessage(WizardForm.Handle, WM_SYSCOMMAND, $F012, 0);
end;
procedure Misc_SetForm_Dragable(aForm: TForm);
var
MainLabel:TLabel;
begin
//5.5版的WizardForm,的确是取消了OnMouseDown事件, 但庆幸是的TLabel还支持这个事件,所以我们在初始化时,WizardForm顶部放一个透明的TLabel控件即可。
MainLabel := TLabel.Create(aForm);
MainLabel.Parent := aForm;
MainLabel.AutoSize := False;
MainLabel.Left := 0;
MainLabel.Top := 0;
MainLabel.Width := aForm.Width;
MainLabel.Height := 50;
MainLabel.Caption := '';
MainLabel.Transparent := True;
MainLabel.OnMouseDown := @_Misc_WizardFormMouseDown;
end;
procedure Misc_SetTEdit_TextCenter(edit: TEdit);
begin
SetWindowLong(edit.Handle, GWL_STYLE, GetWindowLong(edit.Handle, GWL_STYLE) or ES_CENTER);
end;
procedure Misc_SetTEdit_TextVCenter(edit:TEdit);
begin
end;
//procedure Misc_SetTEdit_TextVCenter(edit:TEdit);
//var
// DC: HDC;
// SaveFont: HFont;
// Sin: Integer;
// SysMetrics, Metrics: TTextMetric;
// Rct: TRect;
//begin
// DC := GetDC(0);
// GetTextMetrics(DC, SysMetrics);
// SaveFont := SelectObject(DC, Font.Handle);
// GetTextMetrics(DC, Metrics);
// SelectObject(DC, SaveFont);
// ReleaseDC(0, DC);
// with edit do begin
// if Ctl3D then Sin := 8 else Sin := 6;
// Rct := edit.ClientRect;
// Sin := Height - Metrics.tmHeight - Sin;
// Rct.Top := Sin div 2;
// SendMessage(Handle, EM_SETRECT, 0, Integer(@Rct));
// end
//end;
function Misc_FomatByteText(const I: Longint):string;
var
X: Extended;
begin
if I > 1073741824 then
begin
X := (I*1.0 / 1073741824) * 100{ * 100 to include 2 decimals }
//if Frac(X) > 0 then
// X := Int(X) 1; { always round up }
X := X / 100;
Result := Format('%.2f GB', [X]);
Exit;
end;
if I > 1048576 then
begin
X := (I*1.0 / 1048576) * 10{ * 10 to include a decimal }
//if Frac(X) > 0 then
// X := Int(X) 1; { always round up }
X := X / 10;
Result := Format('%.1f MB', [X]);
Exit;
end;
if I > 1024 then
begin
X := I*1.0 / 1024;
//if Frac(X) > 0 then
// X := Int(X) 1; { always round up }
Result := Format('%.0f KB', [X]);
Exit;
end;
Result := Format('%d B', [I]);
end;
Give feedback

Footer

© 2022 GitHub, Inc.




【实例截图】

【核心代码】

.
├── Beautiful-InnoSetup-Demo-main
│   ├── DllsImport.iss
│   ├── HoverEvent.iss
│   ├── MakePCSetup.iss
│   ├── README.md
│   ├── SetupMisc.iss
│   ├── backup
│   │   ├── ChineseSimplified.isl
│   │   └── innosetup-qsp-5.5.9-unicode.exe
│   ├── pkgs
│   │   └── v1
│   │       ├── MonoBleedingEdge
│   │       │   ├── EmbedRuntime
│   │       │   │   ├── MonoPosixHelper.dll
│   │       │   │   └── mono-2.0-bdwgc.dll
│   │       │   └── etc
│   │       │       └── mono
│   │       │           ├── 2.0
│   │       │           │   ├── Browsers
│   │       │           │   │   └── Compat.browser
│   │       │           │   ├── DefaultWsdlHelpGenerator.aspx
│   │       │           │   ├── machine.config
│   │       │           │   ├── settings.map
│   │       │           │   └── web.config
│   │       │           ├── 4.0
│   │       │           │   ├── Browsers
│   │       │           │   │   └── Compat.browser
│   │       │           │   ├── DefaultWsdlHelpGenerator.aspx
│   │       │           │   ├── machine.config
│   │       │           │   ├── settings.map
│   │       │           │   └── web.config
│   │       │           ├── 4.5
│   │       │           │   ├── Browsers
│   │       │           │   │   └── Compat.browser
│   │       │           │   ├── DefaultWsdlHelpGenerator.aspx
│   │       │           │   ├── machine.config
│   │       │           │   ├── settings.map
│   │       │           │   └── web.config
│   │       │           ├── browscap.ini
│   │       │           ├── config
│   │       │           └── mconfig
│   │       │               └── config.xml
│   │       ├── UnityCrashHandler64.exe
│   │       ├── UnityPlayer.dll
│   │       ├── 我的应用.exe
│   │       └── 我的应用_Data
│   │           ├── Managed
│   │           │   ├── Assembly-CSharp.dll
│   │           │   ├── Mono.Security.dll
│   │           │   ├── System.ComponentModel.Composition.dll
│   │           │   ├── System.Configuration.dll
│   │           │   ├── System.Core.dll
│   │           │   ├── System.Data.dll
│   │           │   ├── System.Diagnostics.StackTrace.dll
│   │           │   ├── System.Drawing.dll
│   │           │   ├── System.EnterpriseServices.dll
│   │           │   ├── System.Globalization.Extensions.dll
│   │           │   ├── System.IO.Compression.FileSystem.dll
│   │           │   ├── System.IO.Compression.dll
│   │           │   ├── System.Net.Http.dll
│   │           │   ├── System.Numerics.dll
│   │           │   ├── System.Runtime.Serialization.Xml.dll
│   │           │   ├── System.Runtime.Serialization.dll
│   │           │   ├── System.ServiceModel.Internals.dll
│   │           │   ├── System.Transactions.dll
│   │           │   ├── System.Xml.Linq.dll
│   │           │   ├── System.Xml.XPath.XDocument.dll
│   │           │   ├── System.Xml.dll
│   │           │   ├── System.dll
│   │           │   ├── Unity.TextMeshPro.dll
│   │           │   ├── Unity.Timeline.dll
│   │           │   ├── UnityEngine.AIModule.dll
│   │           │   ├── UnityEngine.ARModule.dll
│   │           │   ├── UnityEngine.AccessibilityModule.dll
│   │           │   ├── UnityEngine.AndroidJNIModule.dll
│   │           │   ├── UnityEngine.AnimationModule.dll
│   │           │   ├── UnityEngine.AssetBundleModule.dll
│   │           │   ├── UnityEngine.AudioModule.dll
│   │           │   ├── UnityEngine.ClothModule.dll
│   │           │   ├── UnityEngine.ClusterInputModule.dll
│   │           │   ├── UnityEngine.ClusterRendererModule.dll
│   │           │   ├── UnityEngine.CoreModule.dll
│   │           │   ├── UnityEngine.CrashReportingModule.dll
│   │           │   ├── UnityEngine.DSPGraphModule.dll
│   │           │   ├── UnityEngine.DirectorModule.dll
│   │           │   ├── UnityEngine.GameCenterModule.dll
│   │           │   ├── UnityEngine.GridModule.dll
│   │           │   ├── UnityEngine.HotReloadModule.dll
│   │           │   ├── UnityEngine.IMGUIModule.dll
│   │           │   ├── UnityEngine.ImageConversionModule.dll
│   │           │   ├── UnityEngine.InputLegacyModule.dll
│   │           │   ├── UnityEngine.InputModule.dll
│   │           │   ├── UnityEngine.JSONSerializeModule.dll
│   │           │   ├── UnityEngine.LocalizationModule.dll
│   │           │   ├── UnityEngine.ParticleSystemModule.dll
│   │           │   ├── UnityEngine.PerformanceReportingModule.dll
│   │           │   ├── UnityEngine.Physics2DModule.dll
│   │           │   ├── UnityEngine.PhysicsModule.dll
│   │           │   ├── UnityEngine.ProfilerModule.dll
│   │           │   ├── UnityEngine.ScreenCaptureModule.dll
│   │           │   ├── UnityEngine.SharedInternalsModule.dll
│   │           │   ├── UnityEngine.SpriteMaskModule.dll
│   │           │   ├── UnityEngine.SpriteShapeModule.dll
│   │           │   ├── UnityEngine.StreamingModule.dll
│   │           │   ├── UnityEngine.SubstanceModule.dll
│   │           │   ├── UnityEngine.SubsystemsModule.dll
│   │           │   ├── UnityEngine.TLSModule.dll
│   │           │   ├── UnityEngine.TerrainModule.dll
│   │           │   ├── UnityEngine.TerrainPhysicsModule.dll
│   │           │   ├── UnityEngine.TextCoreModule.dll
│   │           │   ├── UnityEngine.TextRenderingModule.dll
│   │           │   ├── UnityEngine.TilemapModule.dll
│   │           │   ├── UnityEngine.UI.dll
│   │           │   ├── UnityEngine.UIElementsModule.dll
│   │           │   ├── UnityEngine.UIElementsNativeModule.dll
│   │           │   ├── UnityEngine.UIModule.dll
│   │           │   ├── UnityEngine.UNETModule.dll
│   │           │   ├── UnityEngine.UmbraModule.dll
│   │           │   ├── UnityEngine.UnityAnalyticsModule.dll
│   │           │   ├── UnityEngine.UnityConnectModule.dll
│   │           │   ├── UnityEngine.UnityTestProtocolModule.dll
│   │           │   ├── UnityEngine.UnityWebRequestAssetBundleModule.dll
│   │           │   ├── UnityEngine.UnityWebRequestAudioModule.dll
│   │           │   ├── UnityEngine.UnityWebRequestModule.dll
│   │           │   ├── UnityEngine.UnityWebRequestTextureModule.dll
│   │           │   ├── UnityEngine.UnityWebRequestWWWModule.dll
│   │           │   ├── UnityEngine.VFXModule.dll
│   │           │   ├── UnityEngine.VRModule.dll
│   │           │   ├── UnityEngine.VehiclesModule.dll
│   │           │   ├── UnityEngine.VideoModule.dll
│   │           │   ├── UnityEngine.VirtualTexturingModule.dll
│   │           │   ├── UnityEngine.WindModule.dll
│   │           │   ├── UnityEngine.XRModule.dll
│   │           │   ├── UnityEngine.dll
│   │           │   ├── mscorlib.dll
│   │           │   └── netstandard.dll
│   │           ├── Resources
│   │           │   ├── unity default resources
│   │           │   └── unity_builtin_extra
│   │           ├── app.info
│   │           ├── boot.config
│   │           ├── globalgamemanagers
│   │           ├── globalgamemanagers.assets
│   │           ├── level0
│   │           ├── sharedassets0.assets
│   │           └── sharedassets0.assets.resS
│   └── res
│       ├── License.txt
│       ├── SetupIcon.ico
│       └── tmp
│           ├── InnoCallback.dll
│           ├── bg.png
│           ├── bg2.png
│           ├── botva2.dll
│           ├── btclose.png
│           ├── btmin.png
│           ├── btn.png
│           ├── btnOneKeyInstall.png
│           ├── check.png
│           ├── pic1.png
│           ├── pic2.png
│           ├── pic3.png
│           ├── pic4.png
│           ├── pic5.png
│           ├── progress.png
│           ├── progressBg.png
│           └── setup_icon.png
└── 好例子网_Beautiful-InnoSetup-Demo-main.zip

20 directories, 148 files




网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警