|
测试把含IServiceProvider导航的C代码改用易语言实现,
在测试到IServiceProvider导航时试了各种方法都失败了,
从创建ShellWindow到最后获得ShellView,
有高手能帮忙看下么,麻烦了
变量名 | 类 型 | 静态 | 数组 | 备 注 | a | 对象 | | | lHwnd | | | | IID | 字节集 | | | Guid | GUID | | |
a. 创建 (“{9BA05972-F6A8-11CF-A442-00A0C90A8F39}”, ) a = a. 对象型方法 (“FindWindowSW”, 0, 0, 8, lHwnd, 1 ) API_CLSIDFromString (编码_Ansi到Unicode (“{6D5140C1-7436-11CE-8034-00AA006009FA}”), IID )a. 对象型方法 (“QueryInterface”, 取指针地址 (IID )) 信息框 (a. 取错误 (), 0, , ) Guid = 文本到GUID (“{6D5140C1-7436-11CE-8034-00AA006009FA}”)a. 对象型方法 (“QueryInterface”, 取指针地址 (IID )) 信息框 (a. 取错误 (), 0, , ) a. 查看 () 返回 (0 ) 文本 = 子文本替换 (文本, “{”, “”, , , 真)文本 = 子文本替换 (文本, “-”, “”, , , 真)文本 = 子文本替换 (文本, “}”, “”, , , 真)GUID.Data1 = 进制_十六到十 (取文本中间 (文本, 1, 8 )) GUID.Data2 = 进制_十六到十 (取文本中间 (文本, 9, 4 )) GUID.Data3 = 进制_十六到十 (取文本中间 (文本, 13, 4 )) 计次循环首 (8, 计次 )GUID.Data4 [计次 ] = 进制_十六到十 (取文本中间 (文本, 15 + 计次 × 2, 2 )) 计次循环尾 ()返回 (GUID )变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | t | 文本型 | | | 结果 | 长整数型 | | | 局_文本 | 文本型 | | |
t = “0123456789ABCDEF”局_文本 = 到大写 (文本 )计次循环首 (取文本长度 (文本 ), i )结果 = 结果 × 16 + 寻找文本 (t, 取文本中间 (局_文本, i, 1 ), , 假) - 1 计次循环尾 ()返回 (结果 )|
编码_Ansi到Unicode | 字节集 | | |
Ansi | 文本型 | | | | 非标准Unicode编码 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 数据2 | 字节集 | | | 长度 | 整数型 | | | 如果真 (Ansi = “”)返回 ({ })长度 = MultiByteToWideChar (936, 0, Ansi, -1, { }, 0)数据2 = 取空白字节集 (长度 × 2 )MultiByteToWideChar (936, 0, Ansi, -1, 数据2, 长度 × 2 )如果真 (非标准Unicode编码 )数据2 = 取字节集左边 (数据2, 取字节集长度 (数据2 ) - 2 )返回 (数据2)
IServiceProvider调用测试.e.rar
(3.03 KB, 下载次数: 11)
|
|