我有以下代码可以关闭 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 所以想知道是否有人知道如何做到这一点?
我想我可以利用 these commands如果没有内置的方法来实现这一点......
最佳答案
关于此的一些额外信息;我使用的是树莓派,xset 和 setterm 命令只使屏幕空白。为了真正关闭屏幕,我不得不使用 tvservice -o
(关闭)和 tvservice -p
(打开)。我没有在单声道中找到任何内置方式来执行相同的操作。
关于c# - 使用单声道 (C#) 关闭监视器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15878645/