2014-03-28 89 views
0

我要实现一个Android的虚拟键盘来控制PC。 这里是计划如何我想这个应用程序的工作:实现虚拟键盘PC

  1. Phone应用程序连接到pc上运行的客户端。在手机上

  2. 用户按下按钮。

  3. 应用程序发送指示按下了哪个按钮客户信号。

  4. 客户端处理应用的信号(实际上按设计的按钮)。

我知道大部分我将使用的类,但是我对于处理手机信号的PC客户端(步骤4)一无所知。如果你能告诉我哪些课程/课程应该用于这些“虚拟印刷机”,那就太好了。谢谢。

回答

1

PC上运行的应用程序将是服务器,而不是客户端,如果手机连接到它。

从Java应用程序发送键盘事件并不容易(尽管这可能是可能的),在C或C++中做一个简单的服务器可能更容易(我假设你的PC是基于Windows的)。 Win32 API有一个SendInput方法来生成键盘事件(例如:http://batchloaf.wordpress.com/2012/04/17/simulating-a-keystroke-in-win32-c-or-c-using-sendinput/)。

的Android应用程序和PC可以依靠一个简单的TCP套接字之间的通信(UDP也是一个有效的选择,但如果你在网络编程开始TCP可能是更容易操作和更广泛的应用)。在C/C++服务器上,查看函数socket,bind,listen,accept,然后recv。在android应用程序中,Socket和DataOutputStream类应该完成这项工作。