WEB开发网
开发学院软件开发VC MS Active Accessibility 接口技术编程尝试 阅读

MS Active Accessibility 接口技术编程尝试

 2006-07-20 11:39:00 来源:WEB开发网   
核心提示: 在 IAccessible 接口上执行动作有了表示一个可访问的 UI 元素的 IAccessible 接口/子ID对,你也有了搜索该元素一个名字(get_accName)、角色(get_accRole)、类和状态(get_accState)的方法,MS Active Accessibili

在 IAccessible 接口上执行动作

有了表示一个可访问的 UI 元素的 IAccessible 接口/子ID对,你也有了搜索该元素一个名字(get_accName)、角色(get_accRole)、类和状态(get_accState)的方法。让我们看看你还可以干什么!get_accDescription 能取得UI元素的描述,get_accValue 能取得一个值。

最重要的函数之一是 accDoDefaultAction。每个可访问的UI元素都有一个缺省定义的动作。例如,一个按钮的缺省动作是"按下这个按钮",一个检查框的缺省动作是"不选"。为了确定一个元素的缺省动作,请参考 Active Accessibility 文档或者调用 get_accDefaultAction。

如果我想起动注册表编辑器,该怎么办呢?如果是我们手动做的话,无非是在文本输入框输入"regedit",然后按确定按钮,就这么简单。下面我们来看看用 Active Accessibility 是怎么来实现的。

//在文本输入框输入"regedit"
if(1 == FindChild (paccMainWindow, "打开(O):",
          "可编辑文字",
          "Edit",
          &paccControl,
          &varControl))
{
  //在这里修改文本编辑框的值
  hr = paccControl->put_accValue(varControl,
                   CComBSTR("regedit"));
  paccControl->Release();
  VariantClear(&varControl);
}
    
// 找到确定按钮,并执行默认动作。
if(1 == FindChild (paccMainWindow,
          "确定",
          "按下按钮",
          "Button",
          &paccControl,
          &varControl))
{
  //这里执行按钮的默认动作,即"按下这个按钮"
  hr = paccControl->accDoDefaultAction(varControl);
  paccControl->Release();
  VariantClear(&varControl);
}

现在,你会发现已经成功启动了注册表编辑器!!

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:MS Active Accessibility

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接