2011-04-09 65 views
1

我们有要求在Kiosk模式中的窗口中运行的触摸屏信息亭上使用Facebook连接。售货亭上没有物理键盘。关于如何获得可用于向Facebook传递凭据的虚拟键盘的任何想法,以便我们可以对用户进行身份验证? Facebook似乎不允许支持在登录页面之外验证用户身份。全屏模式下的Facebook连接无键盘

+0

我的方法是复制键盘。每个键盘按钮都会向浏览器控件发送相应的按键Windows消息。但是,当用户触摸键盘按钮时,浏览器控件失去焦点,并且发送的Windows消息不会由页面内的文本框处理。 – 2011-07-26 21:44:02

回答

0

我在Windows Form上找到了一个非常简单的解决方案。 SendKeys类可以模拟键盘事件。

http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(SYSTEM.WINDOWS.FORMS.SENDKEYS.SEND);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22);k(DevLang-CSHARP)&rd=true

的设置是具有WebBrowserControl和用于键盘按键一系列按钮的形式。这是键盘按钮的事件处理程序。

private void buttonKey_Click(object sender, EventArgs e) 
    { 
     Control _sender = sender as Control; 
     if (_sender != null) 
     { 
      //focus the webBrowser 
      bool focusResult = false; 
      do 
      { 
       focusResult = webBrowser1.Focus(); 
       if (!focusResult) 
       { 
        Thread.Sleep(100); 
       } 
      } while (!focusResult); 

      SendKeys.Send("{TAB}"); 
      SendKeys.Send("+{TAB}"); 
      SendKeys.Send("{RIGHT}"); 
      SendKeys.Send(_sender.Text); 
     } 
    }