【解决方案】火山视窗文本型转换为LPCWSTR(lstrlenW封装)
LPCWSTR一般出现在Unicode api中,也就是W版本的api,例如:lstrlenW 用来获取字符串长度。在火山中想对于A版本的来说就简单很多……
直接@<参数_文本>.GetText () 取出火山c++的文本类型后,强制转换成LPCWSTR即可。
封装如下:
<火山程序 类型 = "通常" 版本 = 1 />
方法 取文本长度W <公开 类型 = 整数 @禁止流程检查 = 真>
参数 参数_文本 <类型 = 文本型>
{
@ return lstrlenW((LPCWSTR)@<参数_文本>.GetText ());
}
PS:一般都没问题,有问题的可以发帖问……
<火山程序 类型 = "通常" 版本 = 1 />
方法 _寻找窗口 <公开 静态 类型 = 变整数 @嵌入式方法 = "">
参数 类名 <类型 = 文本型 @默认值 = 空对象>
参数 标题 <类型 = 文本型 @默认值 = 空对象>
{
@ (INT_P)FindWindowW((LPCWSTR)@<类名>.GetText(),(LPCWSTR)@<标题>.GetText())
}
你试试这个。 server 发表于 2023-5-20 12:56
方法 _寻找窗口
参数 类名
参数 标题
<火山程序 类型 = "通常" 版本 = 1 />
方法 _寻找窗口 <公开 静态 类型 = 变整数 @禁止流程检查 = 真>
参数 类名 <类型 = 文本型 @默认值 = 空对象>
参数 标题 <类型 = 文本型 @默认值 = 空对象>
{
@ return (INT_P)FindWindowW(@<类名>.IsEmpty() ? NULL : @<类名>.GetText(), @<标题>.IsEmpty() ? NULL : @<标题>.GetText());
}
可以再改一下,因为这两个参数有需要用NULL
页:
[1]