大家好,我是技术组的琪琪
今天给猴子们带来个教程:制作易语言软件背景透明化
好的,首先我们可以看看成品图:[attachment=6365137]
大家可以看到,是完全透明的
好了,在开始前,你们需要准备一些DLL
全部都是自己做的.复制请注明!
这下面就是DLL需要的(复制然后放到易语言里面):
======================================================
.版本 2
.DLL命令 SetParent, 长整数型, , "SetParent", , 指定一个窗口的新父,返回前一个父窗口的句柄
.参数 hWndChild, 整数型, , 子窗口的句柄
.参数 hWndNewParent, 整数型, , 新父窗口
.DLL命令 取父窗口_, 整数型, "user32", "GetParent", , 判断指定窗口的父窗口 父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲测试的窗口的句柄;
.DLL命令 findwindow, 整数型, "user32", "FindWindowA"
.参数 lpClassName, 整数型
.参数 lpWindowName, 文本型
.DLL命令 SetLayeredWindowAttributes, 整数型, , "SetLayeredWindowAttributes"
.参数 hwnd, 整数型
.参数 crkey, 整数型
.参数 alpha, 字节型
.参数 dwflags, 整数型
.DLL命令 GetWindowLongA, 整数型, , "GetWindowLongA"
.参数 hwnd, 整数型
.参数 nindex, 整数型
.DLL命令 SetWindowLongA, 整数型, , "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nindex, 整数型
.参数 dwnewlong, 整数型
.DLL命令 GetSystemWindowsDirectory, , , "GetSystemWindowsDirectoryA"
.参数 lpBuffer, 文本型
.参数 uSize, 整数型
这些是DLL,不需要详细介绍了吧.大家直接复制英文名翻译下应该懂得了
最重要的是:GetSystemWindowsDirectory 和SetWindowLongA 和SetLayeredWindowAttributes
上面这几个是控制软件窗口的dll
----------------------------------------------------------下面是源码+解释
.程序集 窗口程序集1
.程序集变量 a, 整数型
.程序集变量 b, 整数型
.程序集变量 SWinDir, 文本型
.子程序 __启动窗口_创建完毕
SWinDir = 取空白文本 (255)'这里是用一个名称去取空白文本.那个swindir可以换成任意字母或者词语
GetSystemWindowsDirectory (SWinDir, 255)'上面说过,这是个设置窗口的DLL.他是获取软件Windows目录
_启动窗口.底色 = 8421503'这个设置窗口底色为8421503
SetWindowLongA (取窗口句柄 (), -20, 位或 (GetWindowLongA (取窗口句柄 (), -20), 524288))设置窗口长度
SetLayeredWindowAttributes (取窗口句柄 (), 8421503, 200, 1)这个是设置窗口为透明化
相信看完这些你应该懂了吧`不懂的随时QQ:
2315662572哦.注明是猴岛的
源码:[attachment=6365159]
copy请带上作者名:琪琪