简书链接:按键精灵pc版想试试能否自动英文视频转字幕结果
文章字数:1111,阅读全文大约需要4分钟
结果卡在了找图,里面的大漠找图等都用不来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130


//*******************大漠插件注册开始*******************//
set ws=createobject("Wscript.Shell")
ws.run "regsvr32 atl.dll /s"
set ws=nothing
PutAttachment "c:\test_game","*.*"
PutAttachment ".\plugin" ,"RegDll.dll"
Call Plugin.RegDll.Reg("c:\test_game\dm.dll")
Set dm = createobject("dm.dmsoft")
ver = dm.Ver()
TracePrint "大漠版本"&ver


'aaaaa = RunApp("cmd.exe echo aaa")
Set Obj = createobject("WScript.Shell")
Num=Obj.exec("cmd /c echo aaa").stdout.readall
TracePrint(aaaaa)
Rem aa

/*
FindColor 0,0,1024,768,"9C4937",intX,intY
If intX > 0 And intY > 0 Then
TracePrint "找到"
ExitScript
End If
TracePrint "没找到"
*/
//FindColorEx 625,653,1024,636,"9C4937",0,0.5,intX,intY
/*
FindColorEx 123,653,976,763,"6C3A2F",0,0.6,intX,intY
If intX > 0 And intY > 0 Then
TracePrint "找到"&intX&"-"&intY
Else
TracePrint "没找到"
End If

*/
//
/*
XY =Plugin.ColorEx.FindColor(625,653,1024,636,"0000FF", 0.5, 0)
'XY = Plugin.ColorEx.FindMultiColor(123, 653, 976, 763, "6C3A2F", "2|1|9C4937", 0.4, 0)
TracePrint CStr(XY)
*/
'窗口句柄 = Lib.API.查找窗口句柄("VESettingPanelSubTabControl:基础", 0)
'窗口句柄 = Lib.API.查找窗口句柄("MainWindow_QMLTYPE_385", 0)
Delay(1500)
'Hwnd = Plugin.Window.Foreground()
Hwnd = Plugin.Window.Find("Qt622QWindowIcon",0)
'Hwnd=Plugin.Window.Find("Qt622QWindowIcon","JianyingPro")
pluginhwndex =Plugin.Window.FindEx(Hwnd, 0, 0, "JianyingPro")'// Plugin.Window.FindEx(Hwnd, 0, "QQuickText", 0)'//"VESettingPanelSubTabControl:花字"
sText = Plugin.Window.GetText(pluginhwndex)
TracePrint sText
'Hwnd = Plugin.Window.Foreground()
//下面这句是得到窗口句柄的类名
Class1 = Plugin.Window.GetClass(Hwnd) //抖音类名 Qt622QWindowIcon
Call Lib.API.激活窗口并置前(窗口句柄)
TracePrint CStr(窗口句柄) & Class1
Call Plugin.ColorEx.PrintScreen(0, 0, 1920, 1080)
iCoord = Plugin.Bkgnd.FindColorBlock(Hwnd, 0, 0, 1024, 768, "00C1CD", 3, 3, 0, 0)

/*
XY = Split(iCoord,"|")
TracePrint XY(0)
TracePrint XY(1)

//下面这句在屏幕区域范围内按方式0,查找颜色,返回左上角第一点颜色位置坐标
XY = Plugin.ColorEx.FindColor(O,O,774,1060, "00C1CD", 0.5, 0)
//下面这句用于分割字符串
ZB = InStr(XY, "|")
TracePrint ZB
//下面这句将字符串转换成数值
X = Clng(Left(XY, ZB - 1)) : Y = Clng(Right(XY, Len(XY) - ZB))

TracePrint X &"-"&Y
//释放屏幕截图信息时请使用以下命令
Call Plugin.ColorEx.Free()
dm.EnableDisplayDebug 1 //必须要写在所有图色命令之前
dm_ret = dm.FindPic(0,0,2000,2000,"1.bmp|2.bmp|3.bmp","000000",0.9,0,intX,intY)

If intX >= 0 and intY >= 0 Then

MessageBox "找到" & intX & "," & intY

Else

TracePrint "没找到"

dm_ret = dm.CapturePre("screen.bmp")

*/




//*******************大漠插件注册结束*******************//
//获取句柄
hwnd1 = dm.FindWindow("", "JianyingPro")
TracePrint "hwnd"& CStr(hwnd1)
//绑定窗口
dm.BindWindow hwnd1, "normal", "normal", "normal", 0



//设置图片存放路径
dm.SetPath ("c:\test_game")




Delay (1500)

dm_ret = dm.FindStr(1426, 87, 1914, 389, "10", "000000-000000", 1.0, x, y)

TracePrint CStr(dm_ret)
dm_ret = dm.FindPic(0,0,788,771,"pic2.png|findpic.png|pic1.png","101010",0.1,0,intX,intY)
'dm_ret = dm.FindPic(149,721,788,771,"findpic.png","101010",0.9,0,intX,intY)
If intX >= 0 and intY >= 0 Then
TracePrint "找到"
//dm.MoveTo intX+10, intY+10
' dm.LeftClick
Else
TracePrint "大漠没能找到"
End If


Delay(1500)
Goto aa


大漠的dll需要放到按键精灵的plugin下

最后失败告终,原因是转换字幕过程很漫长,无法判断是否结束了,找图功能用不了,凉拌

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118

//说明:按照一定频率反复点击鼠标左键
//1秒 = 1000毫秒
//UserVar Yanshi=200 "两次点击的时间间隔(毫秒)"
//LeftClick 1
//Delay Yanshi

'窗口句柄 = lib.API.查找窗口句柄("notepad",0)
'Call lib.API.激活窗口并置前(窗口句柄)

myMsg="默认"
Sub alert(myMsg)
Call Plugin.Msg.HideScrTXT()
'PU = 0
For 5
//下面这句是直接对屏幕进行刷新清除

//延迟半秒等待刷新完毕



//下面这句是在屏幕上范围位置(0,0,1024,100)进行输出内容("屏幕内容填写")
Call Plugin.Msg.ShowScrTXT(0,0,500,100, myMsg, "FF0000")
//延迟半秒可以让你看的清楚
Delay 500
'PU = PU + 1
Next
End Sub
Call alert("开始")



/*
Delay 1500
MoveTo 47, 56//鼠标移动到点开剪映的媒体
LeftClick 1//点击媒体
Call alert("点击顶部栏媒体")
Delay 500
MoveTo 55, 107//左侧本地

*/


Delay 1500
MoveTo 47, 56
Delay 50
LeftClick 1
Call alert("点击顶部栏媒体")
/*
MoveTo 458, 558//鼠标移动到 导入按钮
Delay 500
LeftClick 1//点击导入


*/

/*
KeyDown 17, 1
KeyPress 73, 1
KeyUp 17, 1

Call alert("点击了导入")
'Plugin.Msg.Tips("点击导入按钮")
Delay 2800
MoveTo 236, 147//点击第一个视频
LeftClick 1
Call alert("点击了第一个视频")
Delay 150
KeyPress "F2", 1
KeyDown 17, 1
KeyPress 67, 1
KeyUp 17, 1

Call alert("复制文件名,方便接下来操作")
Clipboard = Plugin.Sys.GetCLB() '剪辑版内容 Trace



'按下选中第一个视频
LeftClick 1
Delay 50
LeftDown 1
Call alert("已选中第一个视频")

MoveTo 223,225// 224, 197 //点击被加入的视频 ,加入到视频轨道
Delay 500
LeftClick 1
Call alert("已点击被加入的视频+")

*/
/*
MoveTo 151, 57
Delay 1500
LeftClick 1
Call alert("已点击剪映顶侧栏-文本")
MoveTo 59, 225//点击本地字幕
Delay 500
LeftClick 1
alert ("已点击剪映顶侧栏-文本")
MoveTo 208, 273
Delay 500
LeftClick 1
alert("已点识别字幕下的开始识别")
Call alert("退出脚本")

*/


'MoveTo 236, 147//在资源管理器再次点击第一个视频
ExitScript

'==========