0

我想在我的手机中做一个任务,应该向它发送密钥。事实上,我将模拟一个远程键盘到我的设备。那么,有什么方法可以访问设备上的发送密钥?谢谢

编辑。

XDA Developers 的 ultrashot 告诉我使用这个:

keybd_event(<key code>, 0, KEYEVENTF_SILENT, 0);
keybd_event(<key code>, 0, KEYEVENTF_SILENT | KEYEVENTF_KEYUP, 0);

但我不知道如何使用它。它可以与 DLLImport 一起使用吗?

4

4 回答 4

2

您的方案有两个问题:

  1. 没有办法以编程方式模拟用户交互。可能有一些低级 API,但该 API 对除 MS 和合作伙伴之外的所有开发人员都是锁定的。
  2. 当其他应用程序正在运行时,无法运行您的代码。所以你只能控制你自己的应用程序。如果您控制自己的应用程序,那么添加显式逻辑以将文本远程添加到文本框中应该不难。
于 2012-05-10T06:19:44.653 回答
2

为什么不只发送按下的键的字节流,您可以使用 Encoding.Ascii.GetBytes(string) 从键盘的每个键获取字节,然后使用 Encoding.Ascii.GetString(bytes) 解码

使用 Mango 支持 Sockets,您可以使用简单的 Socket 客户端,使用 Sockets 接收和发送方法来检索字节流,然后您可以使用它来填充文本框或其他东西

它不像 SendKeys 那样简单,但这是另一种选择

于 2012-05-10T20:37:56.737 回答
1

除了直接将输入发送到控件之外 -没有。您无权访问SendKeys股票 SDK 中的 API。

于 2012-05-10T03:44:26.570 回答
1

“sendkeys”通过向控件发送窗口消息在桌面上工作;该级别的操作在 Windows Phone 的托管级别上不可用。作为电话供应商,您必须通过联系 Microsoft 以获取本机级别的 SDK 来降低级别。但是,我怀疑你能在任何级别上做类似的事情。

于 2012-05-10T03:47:25.043 回答