1

我有以下代码可以关闭我目前在单击按钮时使用的 Windows 中的监视器;

[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);
const int SC_MONITORPOWER = 0xF170;
const int WM_SYSCOMMAND = 0x0112;
const int MONITOR_ON = -1;
const int MONITOR_OFF = 2;
const int MONITOR_STANBY = 1;
int onFlag = 0;

private void MonitorOff()
{
    SendMessage(-1, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_OFF);
    onFlag = 1;
}

private void MonitorOn()
{
    if (onFlag == 1)
    {
        SendMessage(-1, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_ON);
        onFlag = 0;
    }
}

这段代码工作正常。我现在想使用单声道在 Linux(如果有区别的话是 Debian)下做同样的事情。显然我不能使用 user32.dll 所以想知道是否有人知道如何做到这一点?

我想如果没有实现这一点的内置方法,我可以使用这些命令......

4

1 回答 1

0

关于此的一些额外信息;我使用的是树莓派,而 xset 和 setterm 命令只会使屏幕空白。为了真正关闭屏幕,我不得不使用tvservice -o(关闭)和tvservice -p(打开)。我没有在单声道中找到任何内置方式来执行相同的操作。

于 2013-04-15T14:54:54.513 回答