簡體   English   中英

如何在C#中制作像Google音譯桌面應用程序這樣的應用程序

[英]How to make an application like google transliteration desktop application in c#

僅需要攔截鍵盤輸入,轉換並發送回鍵盤的功能(例如,如果用戶按下ai wold喜歡發送e等)。

要使應用程序接受來自鍵盤的輸入,請對其進行修改,然后將其發送到活動窗口(可能是word,excel,notepad Windows屏幕之類的應用程序)等。此功能類似於google的Windows音譯應用程序。 我想用c#來做。 我認為這涉及鈎住鍵盤並將鍵(例如vb中的sendkey)發送到當前窗口。 工作就像Google音譯一樣,但是轉換的邏輯卻大不相同。

我不確定問題的確切含義,因此可能因為過於含糊而無法解決。 但是,聽起來您必須緩沖所有擊鍵,將單詞或短語異步發送到某些服務才能進行音譯,然后使用您提到的諸如sendkeys之類的方法將它們推回到鍵盤緩沖區。 問題是,如果您的應用程序具有焦點,我們將不知道用戶希望將音譯文本顯示在何處,並且如果諸如Word之類的應用程序具有焦點,它將同時接收到真實的擊鍵和音譯文本,然后混在一起(一團糟)。 似乎最好是音譯文本而不是試圖干擾鍵盤緩沖區-此外,退格鍵,撤消鍵等幾乎不可能兌現。

您需要編寫一個使用Windows文本服務框架或舊版IME框架的dll。 該dll將被加載到語言欄並在您激活時加載; 您的代碼(已實現TSF或IME框架所需的一組APIS)將獲取key事件,然后可以將其傳遞給代碼,該代碼將其轉換為字符串並返回給您。然后您可以輸入另一個實現的API Windows應用程序的當前文本編輯器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM