我要做一个软键盘在触摸屏上使用。我的问题是怎么可以实现我的软键盘跟其他应用程序之间的信息交互(包括所有的信息)。我在程序中使用到了SendKeys类来将键击发送给应用程序,因为当前我的键盘程序是活动程序,所以SendKeys.Send()其实是将键击发送给我自己。所以我想如果在发送之前将其他程序激活,那再进行发送就是将键击发送给了所被激活的程序,那这个程序也就可以响应了。我的思路就是这个样子。然后按照这个思路做下去发现在msdn里有这样的注释:没有可用来激活另一个应用程序的托管方法,但可以使用本机 Windows 方法  (API)(如 FindWindow和SetForegroundWindow)来强制聚焦到其他应用程序上。可是我又发现强制聚焦要知道你要聚焦的窗口的句柄才行。试想,我的软键盘要可以跟所有的窗体进行信息交互,怎么能知道某个确定的句柄呢?所以我来问问有哪个API可以获得当前所有打开的窗口句柄的集合?
自己很少用API,说的不对的地方还请见谅。

解决方案 »

  1.   

    FindWindowEx或FindWindow就可以了。前提是你至少要知道你想和哪个程序通信。
      

  2.   

    可前提就是不知道要跟哪个程序通信,郁闷====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。
      

  3.   

    没人回答吗?????====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。