论坛风格切换切换到宽版
  • 9325阅读
  • 15回复

请教 Windows 7 透明效果插件 ISWin7.dll 0.5.0 的使用方法 [复制链接]

上一主题 下一主题
离线我爱你
 

发帖
22
金钱
220
威望
22
只看楼主 倒序阅读 0 发表于: 2015-09-11
请教 Windows 7 透明效果插件 ISWin7.dll 0.5.0 的使用方法
很多自制的 Innosetup 打包集成的都是 0.4.2.0 版本的 ISWin7.dll,但是旧版本对新系统 Windows 8/10 支持不好。
ISWin7 v0.5 [24.03.2011] от VoLT
Это плагин позволит вам сделать прозрачными края или всё окно целиком.
Работает ТОЛЬКО в Windows 7 и в Windows 8. Проверенно на всех системах.
В Windows XP и Windows Vista он пропускает инициализацию что не мешает работоспособности сетапника в этих операционных системах.
- Введён режим включения выключения инициализации GDI+ (влияет на отображение выделения кнопки).
- Убрана кривая виндовая SetLayeredWindowAttributes.


0.4.2.0 版本的 ISWin7.dll 的代码写法无法直接使用到新版本,请教下高手  ISWin7.dll 0.5.0 的使用方法。


上图是 0.4.2.0 的效果。

iswin7.rar (36 K) 下载次数:5

离线546242502

发帖
332
金钱
-3060
威望
-306
只看该作者 1 发表于: 2015-09-11
既然能下载到插件,为什么不把示例下载下来?
这个是 0.5 版本的示例:
  1. ; 腻祛眈蝠圉桀眄 耜痂矧 ISWin7 v0.5
  2. ;
  3. ; [+] 琼圜栩咫?镥疱溴豚磬 铗痂耦怅?镳铉疣黜 钺豚耱彘
  4. ;
  5. ; 项滗屦骊?Windows Vista 猁豚 礤觐痧弪磬 怦脲漶蜮梃 麇泐 猁豚 箐嚯屙?
  6. ;
  7. ; 蒡?蝈耱钼 耜痂矧 镱玮铍弪 皲咫囹?镳铉疣黜?牮? 桦?怦?铌眍 鲥腓觐?
  8. ; 朽犷蜞弪 ?Windows 7, Windows 8
  9. ;
  10. ; ?Windows XP ?Windows Vista 铐 镳铒篑赅弪 桧桷栲腓玎鲨?
  11. ; 黩?礤 戾弪 疣犷蝾耧铖钺眍耱?皴蜞镯桕??桴 铒屦圉桀眄 耔耱屐圊
  12. ;
  13. ; 杨玟囹咫? VoLT ( Vo1T 磬 Ru-Board )
  14. [Setup]
  15. AppName=My Program
  16. AppVerName=My Program version 1.5
  17. DefaultDirName={pf}\My Program
  18. DefaultGroupName=My Program
  19. UninstallDisplayIcon={app}\MyProg.exe
  20. Compression=lzma
  21. SolidCompression=yes
  22. OutputDir=.
  23. [Files]
  24. Source: iswin7.dll; Flags: dontcopy
  25. [Code]
  26. procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean);
  27. external 'iswin7_add_glass@files:iswin7.dll stdcall';
  28. procedure iswin7_add_button(Handle:HWND);
  29. external 'iswin7_add_button@files:iswin7.dll stdcall';
  30. procedure iswin7_free;
  31. external 'iswin7_free@files:iswin7.dll stdcall';
  32. procedure InitializeWizard();
  33. begin
  34.   // 湾钺躅滂祛 漕徉怆螯 赅驿簋 觏铒牦 疣耧铍铈屙眢?磬 耱尻脲
  35.   // 漕 桧桷栲腓玎鲨?耱尻豚 潆 蝾泐 黩?猁 礤 猁腩 潲?))
  36.   iswin7_add_button(WizardForm.BackButton.Handle);
  37.   iswin7_add_button(WizardForm.NextButton.Handle);
  38.   iswin7_add_button(WizardForm.CancelButton.Handle);
  39.   // 相疣戾蝠 True 礤 蝠钽囹?铐 潆 htuos ))
  40.   iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);
  41. end;
  42. procedure DeinitializeSetup();
  43. begin
  44.   iswin7_free;
  45. end;
iswin7.zip (1 K) 下载次数:3

离线我爱你

发帖
22
金钱
220
威望
22
只看该作者 2 发表于: 2015-09-11
回 1楼(546242502) 的帖子
0.5.0 的 dll 文件不是下载的,是从一个安装包内提取的。所以我没有找到示例文件。

为什么使用示例后,按钮怎么变成透明的了???




因为对代码编写不太懂,所以只能请教你们了。
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 3 发表于: 2015-09-12
楼主:请你明确说清楚你想要达到什么目的,否则就是让别人猜测,这样不好。如果你要别人帮助你解决某个问题,请把你的脚本、代码也贴出来,只是提供一个小小的图通常是不够的。
你上面说按钮变成透明的了,我估计你并没有用1楼朋友提供的代码试过,因为示例代码明明是将三个按钮变成不透明的。
离线546242502

发帖
332
金钱
-3060
威望
-306
只看该作者 4 发表于: 2015-09-12
插件示例: ISWin7 v0.5.zip (37 K) 下载次数:10

离线我爱你

发帖
22
金钱
220
威望
22
只看该作者 5 发表于: 2015-09-12
回 3楼(gnatix) 的帖子
感谢 546242502 提供的示例,解决了按钮透明问题。同时自定义添加的关于按钮也变成透明的了,如何解决?
同时因为是玻璃效果,添加的文本链接背景有色块,非常不美观,能否提供下透明样式?




; 腻祛眈蝠圉桀眄 耜痂矧 ISWin7 v0.5
;
; [+] 琼圜栩咫?镥疱溴豚磬 铗痂耦怅?镳铉疣黜 钺豚耱彘
;
; 项滗屦骊?Windows Vista 猁豚 礤觐痧弪磬 怦脲漶蜮梃 麇泐 猁豚 箐嚯屙?
;
; 蒡?蝈耱钼 耜痂矧 镱玮铍弪 皲咫囹?镳铉疣黜?牮? 桦?怦?铌眍 鲥腓觐?
; 朽犷蜞弪 ?Windows 7, Windows 8
;
; ?Windows XP ?Windows Vista 铐 镳铒篑赅弪 桧桷栲腓玎鲨?
; 黩?礤 戾弪 疣犷蝾耧铖钺眍耱?皴蜞镯桕??桴 铒屦圉桀眄 耔耱屐圊
;
; 杨玟囹咫? VoLT ( Vo1T 磬 Ru-Board )

[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma
SolidCompression=yes
OutputDir=.

[Files]
Source: iswin7.dll; Flags: dontcopy

[Code]
procedure iswin7_add_glass(Handle:HWND; Left, Top, Right, Bottom : Integer; GDIPLoadMode: boolean);
external 'iswin7_add_glass@files:iswin7.dll stdcall';

procedure iswin7_add_button(Handle:HWND);
external 'iswin7_add_button@files:iswin7.dll stdcall';

procedure iswin7_free;
external 'iswin7_free@files:iswin7.dll stdcall';

function ShouldSkipPage(PageID: Integer): Boolean;
begin
if PageID = wpReady then
result := true;
end;

procedure AboutButtonOnClick(Sender: TObject);
begin
MsgBox('这是你的信息', mbInformation, mb_Ok);
end;

procedure URLLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin

ShellExec('open', '这是网址', '', '', SW_SHOW, ewNoWait, ErrorCode)
end;

procedure InitializeWizard();
var
AboutButton: TButton;
URLLabel: TNewStaticText;

begin
AboutButton := TButton.Create(WizardForm);
AboutButton.Left := WizardForm.ClientWidth - WizardForm.CancelButton.Left - WizardForm.CancelButton.Width;
AboutButton.Top := WizardForm.CancelButton.Top;
AboutButton.Width := WizardForm.CancelButton.Width;
AboutButton.Height := WizardForm.CancelButton.Height;
AboutButton.Caption := '关于(&A)';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := WizardForm;

URLLabel := TNewStaticText.Create(WizardForm);
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
URLLabel.Left := AboutButton.Left + AboutButton.Width + 10;
URLLabel.Caption := '演示示例';
URLLabel.Font.Style := [fsBold, fsUnderline];
URLLabel.Font.Color := clBlue;
URLLabel.Cursor := crHand;
URLLabel.OnClick := @URLLabelOnClick;
URLLabel.Font.Name := '宋体';
URLLabel.Font.Height := ScaleY(-13);
URLLabel.Parent := WizardForm;
URLLabel.Hint := '演示示例';
URLLabel.ShowHint := True;
//isWin7
iswin7_add_button(WizardForm.BackButton.Handle);
iswin7_add_button(WizardForm.NextButton.Handle);
iswin7_add_button(WizardForm.CancelButton.Handle);
iswin7_add_glass(WizardForm.Handle, 0, 0, 0, 47, True);
end;

procedure DeinitializeSetup();
begin
  iswin7_free;
end;

离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 6 发表于: 2015-09-12
受插件本身的限制,你想要的效果可能不好实现。
离线我爱你

发帖
22
金钱
220
威望
22
只看该作者 7 发表于: 2015-09-12
回 6楼(gnatix) 的帖子
应该是可以实现的。
看到老外制作的,已经成功了。可惜他没放出脚本示例。



中间的是透明的图像而且有超链接。
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 8 发表于: 2015-09-12
你肯定他用的是你上面说的插件吗?另外,你能不能把上面软件的链接贴上来。
离线我爱你

发帖
22
金钱
220
威望
22
只看该作者 9 发表于: 2015-09-13
回 8楼(gnatix) 的帖子
http://anton-proskurin.at.ua/
这个是作者的网站,他好像好久都没更新了,而且都是打包的游戏,体积都挺大。我是在视频中看到他演示的,他并没有给出太多信息。极品飞车的打包是出自他的作品。