簡體   English   中英

使用單聲道(C#)關閉顯示器

[英]Turning monitor off using mono (C#)

我有以下代碼可以關閉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下使用mono做同樣的事情(如果有幫助,請使用Debian)。 顯然,我無法使用user32.dll,因此想知道是否有人知道該怎么做?

我想如果沒有內置的方法可以實現這些功能,我就可以使用這些命令

有關此的一些額外信息; 我正在使用樹莓派,而xset和setterm命令僅使屏幕空白。 為了真正關閉屏幕,我不得不使用tvservice -o (關閉)和tvservice -p (打開)。 我沒有發現任何內置方式可以執行相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM