[已更新 unicode版本]易语言「争渡读屏文本预处理API」开发简单实例

更新内容:

取回unicode文本串后,直接针对unicode文本串进行处理。采用正则unicode操作。

优点:速度快,无需二次编解码操作。

本文包含两个附件,请按需要下载。文件名后代1位纯unicode操作版本。

 

源码在文末,请使用易语言 5 以上版本查看。

 

争渡读屏文本预处理API
文本预处理是指读屏即将朗读的文本传递给插件,插件获得修改文本的能力,最后将修改文本返回给读屏朗读.
API为32位dll,路径位于{pf}\zdsr\common\zdsr\addins\目录, dll 名称为 ZDTextPreprocess.dll
读屏将优先加载位于争渡读屏安装目录\addins\存在ZDTextPreprocess.dll
当前版本号1

int WINAPI Init()
参数:
返回值:
    1:当前插件版本号

int TextPreprocess(wchar_t* oldString, wchar_t* newString)
参数:
    [in] wchar_t* oldString:    原字符
    [out] wchar_t* newString:    新字符,缓冲区大小为40960;超出需截断
返回值:
    0:发生错误,未替换
    其他值:字符串长度

 

源码下载:

 

争渡读屏文本预处理易语言源码实例争渡读屏文本预处理易语言源码实例

 

纯unicode 操作版本 - 争渡读屏文本预处理 API 源码实例



本帖由无痕在2020-05-25 13:13:18编辑
04-26 查看数:2231     回复数:14 只看该作者
沙发走起

来的太及时了。感谢楼主分享。

这我可搞不定,我还没那技术

本帖来自微秘



来支持, 这里面发挥的空间很大呀。

同志们好!
来自之多云

同志们辛苦了

小白不懂。这具体能做点啥?

本帖来自安卓秘书



老欧可以来一个c++的例子啊。

谁来教教我?



我猜是这样写, 不过哪里环节有问题, 我这边没有效果。代码贴上。
#include <windows.h>
#include <wchar.h>

__declspec(dllexport)
int WINAPI Init()
{
 return 1;
}

__declspec(dllexport)
int WINAPI TextPreprocess(wchar_t* old_str, wchar_t* new_str)
{
 if (wcscoll(old_str, L"127.0.0.1") == 0)
 {
   new_str = L"localhost";
   return wcslen(new_str);
 }
 else
{
   return 0;
 }
}


new_str = L"localhost";
这一行错了,需要拷贝字符

争渡老师一说我就知道问题了, 我把缓冲区的指针给改掉了。

很强大,来看看。

回1楼无痕

来支持一个。

本帖来自爱盲客户端



访客