那位大神帮我把这个按键精灵代码改成易语言代码!或者帮我写一个运行游戏的源码!
Function查找窗口句柄(窗口类名,窗口标题)DimsClass,sTitleIfCstr(窗口类名)="0"Then查找窗口句柄=FindWindow(vbNull...
Function 查找窗口句柄(窗口类名,窗口标题)
Dim sClass, sTitle
If Cstr(窗口类名) = "0" Then
查找窗口句柄 = FindWindow(vbNullString, Cstr(窗口标题))
ElseIf Cstr(窗口标题) = "0" Then
查找窗口句柄 = FindWindow(Cstr(窗口类名), vbNullString)
Else
查找窗口句柄 = FindWindow(Cstr(窗口类名), Cstr(窗口标题))
End If
End Function
Sub 激活窗口并置前(窗口句柄)
Dim SW_SHOWNORMAL
SW_SHOWNORMAL = 1
If 窗口句柄 <> 0 Then
Call ShowWindow(窗口句柄, SW_SHOWNORMAL)
Call SetForegroundWindow(窗口句柄)
End If
End Sub
Sub 设置窗口透明度(窗口句柄, 透明度)
Dim GWL_EXSTYLE, LWA_ALPHA, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
LWA_ALPHA = &H2
WS_EX_LAYERED = &H80000
Dim Rt
If 窗口句柄 <> 0 And 透明度>=0 And 透明度<=255 Then
Rt = GetWindowLong(窗口句柄, GWL_EXSTYLE)
Rt = Rt Or WS_EX_LAYERED
Call SetWindowLong(窗口句柄, GWL_EXSTYLE, Rt)
Call SetLayeredWindowAttributes(窗口句柄, 0, 透明度, LWA_ALPHA)
End If
End Sub
Sub 设置窗口鼠标穿透(窗口句柄)
Dim GWL_EXSTYLE, WS_EX_TRANSPARENT, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
WS_EX_TRANSPARENT = &H20
WS_EX_LAYERED = &H80000
Dim rtn
If 窗口句柄 <> 0 Then
rtn = GetWindowLong(窗口句柄, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetWindowLong 窗口句柄, GWL_EXSTYLE, rtn
End If
End Sub
Sub 取消窗口设置(窗口句柄, 模式)
Dim GWL_EXSTYLE, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
WS_EX_LAYERED = &H80000
If 窗口句柄 <> 0 Then
If 模式 = 0 then
SetWindowLong 窗口句柄, GWL_EXSTYLE, 0
Else
SetWindowLong 窗口句柄, GWL_EXSTYLE, WS_EX_LAYERED
End If
End If
End Sub
Sub 运行程序(程序路径)
Dim P, I, DirPath, ExeName
P = Split(程序路径, "\")
For I = 0 To UBound(P) - 1
DirPath = DirPath & P(I) & "\"
Next
ExeName = P(UBound(P))
ShellExecute GetDesktopWindow, "open", ExeName, vbNullString, DirPath, 5
End Sub 展开
Dim sClass, sTitle
If Cstr(窗口类名) = "0" Then
查找窗口句柄 = FindWindow(vbNullString, Cstr(窗口标题))
ElseIf Cstr(窗口标题) = "0" Then
查找窗口句柄 = FindWindow(Cstr(窗口类名), vbNullString)
Else
查找窗口句柄 = FindWindow(Cstr(窗口类名), Cstr(窗口标题))
End If
End Function
Sub 激活窗口并置前(窗口句柄)
Dim SW_SHOWNORMAL
SW_SHOWNORMAL = 1
If 窗口句柄 <> 0 Then
Call ShowWindow(窗口句柄, SW_SHOWNORMAL)
Call SetForegroundWindow(窗口句柄)
End If
End Sub
Sub 设置窗口透明度(窗口句柄, 透明度)
Dim GWL_EXSTYLE, LWA_ALPHA, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
LWA_ALPHA = &H2
WS_EX_LAYERED = &H80000
Dim Rt
If 窗口句柄 <> 0 And 透明度>=0 And 透明度<=255 Then
Rt = GetWindowLong(窗口句柄, GWL_EXSTYLE)
Rt = Rt Or WS_EX_LAYERED
Call SetWindowLong(窗口句柄, GWL_EXSTYLE, Rt)
Call SetLayeredWindowAttributes(窗口句柄, 0, 透明度, LWA_ALPHA)
End If
End Sub
Sub 设置窗口鼠标穿透(窗口句柄)
Dim GWL_EXSTYLE, WS_EX_TRANSPARENT, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
WS_EX_TRANSPARENT = &H20
WS_EX_LAYERED = &H80000
Dim rtn
If 窗口句柄 <> 0 Then
rtn = GetWindowLong(窗口句柄, GWL_EXSTYLE)
rtn = rtn Or WS_EX_LAYERED Or WS_EX_TRANSPARENT
SetWindowLong 窗口句柄, GWL_EXSTYLE, rtn
End If
End Sub
Sub 取消窗口设置(窗口句柄, 模式)
Dim GWL_EXSTYLE, WS_EX_LAYERED
GWL_EXSTYLE = (-20)
WS_EX_LAYERED = &H80000
If 窗口句柄 <> 0 Then
If 模式 = 0 then
SetWindowLong 窗口句柄, GWL_EXSTYLE, 0
Else
SetWindowLong 窗口句柄, GWL_EXSTYLE, WS_EX_LAYERED
End If
End If
End Sub
Sub 运行程序(程序路径)
Dim P, I, DirPath, ExeName
P = Split(程序路径, "\")
For I = 0 To UBound(P) - 1
DirPath = DirPath & P(I) & "\"
Next
ExeName = P(UBound(P))
ShellExecute GetDesktopWindow, "open", ExeName, vbNullString, DirPath, 5
End Sub 展开
1个回答
展开全部
所有语言其实都差不多,何必还要假手于人??
按照上面的 API声明,在易语言中声明即可,常量亦可通过百度查询;
.版本 2
.DLL命令 FindWindow, , , "FindWindowA"
.参数 类名, 文本型
.参数 标题, 文本型
调用方法 :
查找窗口句柄 = FindWindow(窗口类名,窗口标题) ‘
和上面的有什么区别??再说常量
WS_EX_LAYERED = &H80000
易语言中添加常量,系统常量一般都是整数的,象上面这个加了&H,&H代表什么?16进制,那我们转成10进制不就行了=32768
.版本 2
.常量 WS_EX_LAYERED, "32768"
还觉得难么???
按照上面的 API声明,在易语言中声明即可,常量亦可通过百度查询;
.版本 2
.DLL命令 FindWindow, , , "FindWindowA"
.参数 类名, 文本型
.参数 标题, 文本型
调用方法 :
查找窗口句柄 = FindWindow(窗口类名,窗口标题) ‘
和上面的有什么区别??再说常量
WS_EX_LAYERED = &H80000
易语言中添加常量,系统常量一般都是整数的,象上面这个加了&H,&H代表什么?16进制,那我们转成10进制不就行了=32768
.版本 2
.常量 WS_EX_LAYERED, "32768"
还觉得难么???
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询