按键精灵官方吧 关注:201贴子:634
  • 2回复贴,共1

窗口透明的小软件

只看楼主收藏回复

在网络上有很多窗口透明的小软件,用按键精灵也能实现。
萌新一个,如果下面源码有可以改进的地方,请斧正。
需要自行将控件加上。
附上源码:
//以下代码为将鼠标指向程序直接透明//
GetCursorPos x,y
Hwnd = Plugin.Window.MousePoint()
GetColor = GetPixelColor(x, y)
IfColor x,y,"5EAB25",0 Then
Hwnd = Plugin.Window.Find(0, "按键精灵")
End If
Plugin.lxj_Plug.lxj_SetWindow Hwnd, 20
WaitKey
Plugin.lxj_Plug.lxj_SetWindow Hwnd,-1
//以上代码为将鼠标指向程序直接透明//
Event Form1.Load
计数 = 0
Form1.Hotkey1.Register(true)//注册热键
屏幕y分辨率 = Plugin.Sys.GetScRY()'屏幕y分辨率
获取所有窗口句柄 = Plugin.Window.Search("")'获取当前所有窗口句柄 引号中为空代表全部
窗口句柄数组=split(获取所有窗口句柄,"|") '拆分所有窗口句柄
窗口句柄数量 = UBound(窗口句柄数组)'得到所有窗口句柄数量
'---------------------------------------------------------------------------------
Dim 标题(1000)
For 循环变量 = 0 To 窗口句柄数量 - 1 '循环通过窗口句柄找窗口名
窗口名字 = Plugin.Window.GetText(窗口句柄数组(循环变量))
'--------------------------------------------------------------------------------------
窗口大小 = Plugin.Window.GetClientRect(窗口句柄数组(循环变量))'窗口大小,用来忽略系统窗口做对比
窗口大小数组 = split(窗口大小, "|")
'--------------------------------------------------------------------------------------
标题(循环遍量) = 窗口名字 & "|"'加|来分割名字
Form1.ListBox1.AddItem (窗口名字 + "::::" + 窗口句柄数组(循环变量))'直接在窗口名字中加句柄了,因为按键目前好像
'不支持列表中代数值,我也不想用数组,所以直接弄个符号,用分割来加入读取句柄
总=总&Cstr(标题(循环遍量))
TracePrint 标题(循环遍量)
计数=计数+1
Next
TracePrint 总
最大下标 = 计数
End Event
Event Form1.Button1.Click
Form1.Slider1.Value=0//令滚动条值归零
Form1.ListBox1.List=""//清空之前的列表
MessageBox "已恢复" //弹出提示窗口
获取所有窗口句柄 = Plugin.Window.Search("")'获取当前所有窗口句柄 引号中为空代表全部
窗口句柄数组=split(获取所有窗口句柄,"|") '拆分所有窗口句柄
窗口句柄数量 = UBound(窗口句柄数组)'得到所有窗口句柄数量
For i = 0 To 窗口句柄数量 - 1'循环通过窗口句柄找窗口名
Plugin.lxj_Plug.lxj_SetWindow 窗口句柄数组(i), 255 //所有窗口全部显示
Next
计数 = 0
屏幕y分辨率 = Plugin.Sys.GetScRY()'屏幕y分辨率
获取所有窗口句柄 = Plugin.Window.Search("")'获取当前所有窗口句柄 引号中为空代表全部
窗口句柄数组=split(获取所有窗口句柄,"|") '拆分所有窗口句柄
窗口句柄数量 = UBound(窗口句柄数组)'得到所有窗口句柄数量
'---------------------------------------------------------------------------------
Dim 标题(1000)
For 循环变量 = 0 To 窗口句柄数量 - 1 '循环通过窗口句柄找窗口名
窗口名字 = Plugin.Window.GetText(窗口句柄数组(循环变量))
'--------------------------------------------------------------------------------------
窗口大小 = Plugin.Window.GetClientRect(窗口句柄数组(循环变量))'窗口大小,用来忽略系统窗口做对比
窗口大小数组 = split(窗口大小, "|")
'--------------------------------------------------------------------------------------
标题(循环遍量) = 窗口名字 & "|"'加管道符|来分割名字
Form1.ListBox1.AddItem (窗口名字 + "::::" + 窗口句柄数组(循环变量))'直接在窗口名字中加句柄了,因为按键目前好像
'不支持列表中代数值,我也怪不得用数组,所以直接弄个符号,用分割来加入读取句柄
总=总&Cstr(标题(循环遍量))
TracePrint 标题(循环遍量)
计数=计数+1
Next
TracePrint 总
最大下标 = 计数
End Event
Dim 控制
控制=0
Event Form1.Slider1.Slide
Plugin.lxj_Plug.lxj_SetWindow 窗口句柄数组(Form1.ListBox1.ListIndex), 255 - Form1.Slider1.Value//隐藏值最小0到255,滑块的值需要从小到大,所以直接用255减去滑块对应的值
If Form1.CheckBox1.Value = 1 Then
Plugin.lxj_Plug.lxj_SetWindow Hwnd,255-Form1.Slider1.Value//隐藏值最小0到255,滑块的的需要从小到大,所以直接用255减去滑块对应的值
End If
End Event
Event Form1.Hotkey1.Hotkey
GetCursorPos x,y
Hwnd = Plugin.Window.MousePoint()
GetColor = GetPixelColor(x, y)
IfColor x,y,"5EAB25",0 Then
Hwnd = Plugin.Window.Find(0, "按键精灵")
End If
窗口名字 = Plugin.Window.GetText(Hwnd)
End Event


IP属地:广西1楼2022-01-21 14:23回复
    感谢分享~~


    IP属地:福建2楼2022-02-08 11:10
    回复


      IP属地:浙江来自Android客户端3楼2022-08-13 09:56
      回复