|

分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |
.版本 2
.支持库 ESpeechEngine
.支持库 eAPI
.支持库 spec
.支持库 eMMedia
.程序集 窗口程序集1
.程序集变量 机读文本, 机读文本
.程序集变量 OldProc, 整数型
.程序集变量 MyMsg, 整数型
.程序集变量 tmp, NotifyIconData
.程序集变量 A, 整数型
.程序集变量 文件号, 整数型
.子程序 _时钟1_周期事件
.如果 (A < 255)
A = A + 2
设置窗口透明度 (_启动窗口.取窗口句柄 (), A)
.否则
时钟1.时钟周期 = 0
.如果结束
.子程序 _时钟2_周期事件
.如果 (A > 0)
A = A - 2
设置窗口透明度 (_启动窗口.取窗口句柄 (), A)
.否则
.如果结束
.子程序 __启动窗口_可否被关闭, 逻辑型
机读文本.停止发音 ()
A = 255
时钟2.时钟周期 = 10
延迟 (1980)
销毁 ()
.子程序 __启动窗口_创建完毕
.局部变量 语音库, 文本型, , "0"
.局部变量 N
机读文本.重新创建并初始化 ()
语音库 = 机读文本.列举语音库 ()
.计次循环首 (取数组成员数 (语音库), N)
助手.加入项目 (语音库 [N], )
.计次循环尾 ()
助手.现行选中项 = 0
设置窗口透明度 (_启动窗口.取窗口句柄 (), 0)
时钟1.时钟周期 = 10
A = 0
皮肤数 = 读配置项 (取运行目录 () + “\In-joy.ini”, “Skin”, “yzl”, )
文本.内容 = “欢迎使用Tony语音助手!” + #换行符 + #换行符 + “请编辑本文本框进行修改”
.判断开始 (皮肤数 = “0”)
皮肤 = #默认皮肤
.判断 (皮肤数 = “1”)
皮肤 = #QQ2008
.判断 (皮肤数 = “2”)
皮肤 = #QQ2009V1
.判断 (皮肤数 = “3”)
皮肤 = #QQ2009V2
.判断 (皮肤数 = “4”)
皮肤 = #REA
.判断 (皮肤数 = “5”)
皮肤 = #积木
.判断 (皮肤数 = “6”)
皮肤 = #炫绿
.判断 (皮肤数 = “7”)
皮肤 = #QQ影音
.判断 (皮肤数 = “8”)
皮肤 = #黑色
.判断 (皮肤数 = “9”)
皮肤 = #MSN
.判断 (皮肤数 = “10”)
皮肤 = #aero
.判断 (皮肤数 = “11”)
皮肤 = #asus
.判断 (皮肤数 = “12”)
皮肤 = #中国风
.判断 (皮肤数 = “13”)
皮肤 = #Vista
.判断 (皮肤数 = “14”)
皮肤 = #office2007
.判断 (皮肤数 = “15”)
皮肤 = #compact
.判断 (皮肤数 = “16”)
皮肤 = #darkroyale
.判断 (皮肤数 = “17”)
皮肤 = #dogmax
.判断 (皮肤数 = “18”)
皮肤 = #elegance
.判断 (皮肤数 = “19”)
皮肤 = #enjoy
.判断 (皮肤数 = “20”)
皮肤 = #gem
.判断 (皮肤数 = “21”)
皮肤 = #hlong
.判断 (皮肤数 = “22”)
皮肤 = #homestead
.判断 (皮肤数 = “23”)
皮肤 = #insomnia
.判断 (皮肤数 = “24”)
皮肤 = #longhorn
.判断 (皮肤数 = “25”)
皮肤 = #ouframe
.判断 (皮肤数 = “26”)
皮肤 = #pixos
.判断 (皮肤数 = “27”)
皮肤 = #qqgame
.判断 (皮肤数 = “28”)
皮肤 = #royale
.判断 (皮肤数 = “29”)
皮肤 = #storm
.判断 (皮肤数 = “30”)
皮肤 = #wish
.判断 (皮肤数 = “31”)
皮肤 = #Xenes
.判断 (皮肤数 = “32”)
皮肤 = #xmp
.判断 (皮肤数 = “”)
皮肤 = #默认皮肤
.默认
.判断结束
SkinH_AttachRes (皮肤, 取字节集长度 (皮肤), “”, 0, 0, 0)
OldProc = SetWindowLongA (_启动窗口.取窗口句柄 (), #GWL_WNDPROC, 到数值 (&NewProc)) ' 重新设置主窗口函数过程,拦截消息
MyMsg = RegisterWindowMessageA (“TaskbarCreated”) ' 注册一个消息,任务栏重建时发送MyMsg消息,拦截此消息重新添加托盘图标。
tmp.cbSize = 488 ' 结构体的大小
tmp.hwnd = _启动窗口.取窗口句柄 ()
tmp.hIcon = _启动窗口.发送信息 (#WM_GETICON, 0, 0) ' 取主窗口的图标句柄
tmp.uID = 1 ' 托盘图标ID
tmp.uFlags = 位或 (#NIF_TIP, #NIF_ICON, #NIF_MESSAGE)
tmp.uCallbackMessage = 12345 ' 这是自定义消息,当发生托盘事件时会向主窗口发送此消息。
lstrcpyn (tmp.szTip, “易语言”, 取文本长度 (“易语言”) + 1) ' 把文本写入字符数组
Shell_NotifyIconA (#NIM_ADD, tmp) ' 添加托盘图标。
tmp.uFlags = #NIF_INFO ' 气泡提示
lstrcpyn (tmp.szInfo, “欢迎使用Tony语音助手!” + #换行符 + #换行符 + “邮箱:[email protected]”, 取文本长度 (“欢迎使用Tony语音助手!” + #换行符 + #换行符 + “E-mail:[email protected]”) + 1)
lstrcpyn (tmp.szInfoTitle, “【Tony语音助手】”, 取文本长度 (“【Tony语音助手】”) + 1)
tmp.dwInfoFlags = #NIIF_INFO ' 信息图标
Shell_NotifyIconA (#NIM_MODIFY, tmp) ' 修改托盘图标
速度.位置 = 到整数 (读配置项 (取运行目录 () + “\In-joy.ini”, “YZL”, “YZL”, ))
音量 = 到整数 (读配置项 (取运行目录 () + “\In-joy.ini”, “Sound”, “size”, ))
.如果 (系统音量1.打开 (#音量类型.主音量) = 0)
信息框 (“系统音量打开失败!,您可能听不到声音!”, 48, )
.否则
系统音量1.置音量 ((音量 - 1) × 650, (音量 - 1) × 650)
系统音量1.关闭 (2)
.如果结束
.子程序 NewProc, 整数型
.参数 hwnd, 整数型
.参数 uMsg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.判断开始 (uMsg = MyMsg) ' 任务栏被重建
Shell_NotifyIconA (#NIM_DELETE, tmp) ' 删除原来的图标
tmp.uFlags = 位或 (#NIF_TIP, #NIF_ICON, #NIF_MESSAGE)
Shell_NotifyIconA (#NIM_ADD, tmp) ' 添加图标
.判断 (uMsg = #WM_DESTROY)
Shell_NotifyIconA (#NIM_DELETE, tmp) ' 删除图标
.默认
.判断结束
返回 (CallWindowProcA (OldProc, hwnd, uMsg, wParam, lParam))
.子程序 __启动窗口_尺寸被改变
.如果 (按钮2.标题 = “附加功能” + #换行符 + “→→→→”)
文本.移动 (3, 34, 取用户区宽度 () - 6, 取用户区高度 () - 150)
.否则
按钮2.标题 = “附加功能” + #换行符 + “←←←←”
文本.移动 (3, 34, 取用户区宽度 () - 91, 取用户区高度 () - 150)
.如果结束
标签1.左边 = (_启动窗口.宽度 - 标签1.宽度) ÷ 2
助手.移动 (取用户区宽度 () - 275, 取用户区高度 () - 102, 266, 20)
标签2.移动 (取用户区宽度 () - 372, 取用户区高度 () - 100, 94, 16)
按钮1.移动 (11, 取用户区高度 () - 107, 142, 29)
按钮2.移动 (取用户区宽度 () - 75, 2, 66, 30)
.如果 (按钮2.标题 = “附加功能” + #换行符 + “→→→→”)
按钮3.可视 = 假
按钮5.可视 = 假
按钮6.可视 = 假
按钮7.可视 = 假
按钮8.可视 = 假
按钮9.可视 = 假
分组框1.可视 = 假
.否则
按钮2.标题 = “附加功能” + #换行符 + “←←←←”
按钮3.可视 = 真
按钮5.可视 = 真
按钮6.可视 = 真
按钮7.可视 = 真
按钮8.可视 = 真
按钮9.可视 = 真
分组框1.可视 = 真
分组框1.移动 (取用户区宽度 () - 83, 取用户区高度 () - 382, 80, 260)
按钮3.移动 (取用户区宽度 () - 76, 取用户区高度 () - 363, 66, 25)
按钮5.移动 (取用户区宽度 () - 76, 取用户区高度 () - 323, 66, 25)
按钮7.移动 (取用户区宽度 () - 76, 取用户区高度 () - 283, 66, 25)
按钮6.移动 (取用户区宽度 () - 76, 取用户区高度 () - 243, 66, 25)
按钮9.移动 (取用户区宽度 () - 76, 取用户区高度 () - 203, 66, 25)
按钮8.移动 (取用户区宽度 () - 76, 取用户区高度 () - 163, 66, 25)
.如果结束
朗读.移动 (11, 取用户区高度 () - 40, 145, 29)
停止.移动 (170, 取用户区高度 () - 40, 145, 29)
按钮4.移动 (取用户区宽度 () - 105, 取用户区高度 () - 40, 92, 29)
导出.移动 (取用户区宽度 () - 105, 取用户区高度 () - 70, 92, 20)
标签3.移动 (10, 取用户区高度 () - 70, 92, 20)
速度.移动 (69, 取用户区高度 () - 71, 取用户区宽度 () - 175, 25)
分组框2.移动 (4, 取用户区高度 () - 48, 318, 43)
.如果真 (_启动窗口.高度 ≤ 220)
_启动窗口.高度 = 220
.如果真结束
.如果真 (_启动窗口.宽度 ≤ 450)
_启动窗口.宽度 = 450
.如果真结束
.如果真 (_启动窗口.宽度 ≤ 550)
标签2.移动 (165, 取用户区高度 () - 100, 94, 16)
助手.移动 (261, 取用户区高度 () - 102, 取用户区宽度 () - 270, 20)
.如果真结束
.子程序 _按钮1_被单击
.如果真 (导入文本.打开 ())
.如果真 (文件号 ≠ 0)
关闭文件 (文件号)
.如果真结束
文件号 = 打开文件 (导入文本.文件名, , )
文本.内容 = 读入文本 (文件号, )
.如果真结束
.子程序 _朗读_被单击
.如果 (文本.内容 ≠ “”)
.如果真 (助手.现行选中项 = -1)
信息框 (“请选择朗读助手”, 0, )
返回 ()
.如果真结束
机读文本.设置语音库 (助手.取项目文本 (助手.现行选中项))
机读文本.文本到语音 (0, “欢迎使用Tony语音助手!即将朗读文本框里的文字,请稍候。。” + 文本.内容 + “。朗读完毕!谢谢使用!”, , )
标签1.标题 = “正在朗读…”
停止.禁止 = 假
朗读.禁止 = 真
.否则
文本.内容 = “”
信息框 (“请输入朗读内容!”, 0, “YZl”)
.如果结束
写配置项 (取运行目录 () + “\encounter\yzl.ini”, “LOVE”, “yzl”, 调试输出字节集 (到字节集 (文本.内容)))
.子程序 _导出_被单击
|
|