c# - 使用单声道 (C#) 关闭监视器

标签 c# linux mono debian

我有以下代码可以关闭 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/

相关文章:

c# - sqlite-net 异步 API 是否支持处置?

c# - 将外部页面加载到我的网页中更改布局

linux - Nginx 监听而不是端口 80

linux - 如何连接两个或多个存储在awk脚本中的变量中的字符串

.net - 从 CentOS 中单声道下运行的 .NET 应用程序调用 native linux 库时,IL 代码无效

ubuntu - 在 PyCharm IDE 中的 Mono 上使用 IronPython

c# - 如何在连接字符串中设置用户名和密码以连接到数据库?

C# ASP.NET Google Checkout 通知确认

c - Linux 中多线程的信号处理

c# - CS1703 : In Xamarin. Droid,我应该使用位于 Mono.Framework 或 System.Runtime 中的 .Net Standard windowsruntime.dll?