【问题标题】:Manipulate signals sent to monitor操纵发送到监视器的信号
【发布时间】:2011-06-20 11:59:15
【问题描述】:

我正在尝试低级编程,对此我一无所知。我想捕获监视器的输入,将其存储在磁盘上的某个位置,然后稍后将其通过管道传回屏幕。虽然我当然知道如何写入磁盘,但我必须知道如何以这种方式操作监视器。如果有人能给我一些指示/链接,我将不胜感激。 我知道 ruby​​ 和 java,但我假设 ruby​​ 作为一种高级语言,并不真正适合这种任务。我愿意看看需要的任何新语言。

【问题讨论】:

    标签: java monitor low-level


    【解决方案1】:

    Java 也是一种非常高级的语言,因为它建立在 VM 之上。因此,只有通过迂回的方法才能实现对监视器等组件的低级手动操作。但是,有一个Robot API 允许您执行其中一些操作。 Robot 具有创建屏幕截图和移动鼠标的方法,但它没有更改屏幕像素的方法。为此,您必须查看一些 GUI 库,例如 Swing、SWT 和 RCP。

    如果您想要进行一些真正的低级编程,您应该查看不同的语言,例如 C 或 C++。

    【讨论】:

    • 我可能会研究 C,由于它与 Ruby 的关系,我的实验有双重目的。鉴于 C,我应该研究哪些技术,在显示之前抓取屏幕输出并通过 Internet 将其发送到远程桌面程序之类的东西?
    • 我不知道是否可以在屏幕数据到达屏幕之前使用 C 截取屏幕数据,但我很可能是错的。不幸的是,我没有用 C 编写太多代码,所以我不能给你一个具体的答案。我建议使用谷歌搜索“使用 C 进行屏幕截图”,然后搜索“使用 C 联网”。祝你好运!
    【解决方案2】:

    如果您想从屏幕截图创建电影,请查看this answer。但是,如果您想捕获 60hz 的全显示器带宽(就像捕获电影播放一样),我认为仅靠软件是不可能的,除非可能通过修改视频卡驱动程序。您可以购买“视频采集卡”,它可以直接采集通过 DVI 或模拟发送的数据以获得最佳质量,但它们并不便宜。

    【讨论】:

      【解决方案3】:

      如果您使用的是基于 Unix 的系统,您可能希望研究通过 ssh 进行 X11 转发,您可以对自己的客户端执行类似的操作。不过,这仍然是相当高级的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-19
        相关资源
        最近更新 更多