2011-04-09 64 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); 
     } 
    }