Как отключить дисплей планшета Win8

Есть ли способ отключить отображение планшета Win8, не переводя планшет в спящий режим?

Я использую следующий код C ++, но этот код переводит планшет в спящий режим:

const LPARAM OFF = 2;
// const LPARAM LOW = 1;
const LPARAM ON = -1;
LPARAM state = 0;

if (monitorOn) state = ON;    // set monitor on
else state = OFF;             // set monitor off

SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, state);

Нам нужно создать новое соединение VNC, пока дисплей выключен. Но мы не можем этого сделать, когда планшет находится в спящем режиме. Также монитор по функционалу (см. Код выше) не работает в спящем режиме …

Кто-нибудь знает, как можно только отключить дисплей планшета Win8?

1

Решение

Вы можете попробовать использовать API управления питанием держать компьютер включенным, когда его усыпляют. Я не уверен, если вы все еще можете подключиться с помощью VNC, когда компьютер находится в этом состоянии, но стоит попробовать.

#include <atlbase.h>
#include <atlutil.h>
#include <powrprof.h>

#pragma comment(lib, "PowrProf.lib")

#include <iostream>

using namespace std;

int main()
{
try
{
POWER_REQUEST_CONTEXT context;
context.Version = POWER_REQUEST_CONTEXT_VERSION;
context.Flags = POWER_REQUEST_CONTEXT_SIMPLE_STRING;
context.Reason.SimpleReasonString = L"Turn screen off";

CHandle powerRequest(PowerCreateRequest(&context));
if(powerRequest == INVALID_HANDLE_VALUE)
AtlThrowLastWin32();

if(!PowerSetRequest(powerRequest, PowerRequestAwayModeRequired))
AtlThrowLastWin32();

if(!SetSuspendState(FALSE, FALSE, FALSE))
AtlThrowLastWin32();

if(!PowerSetRequest(powerRequest, PowerRequestAwayModeRequired))
AtlThrowLastWin32();

return 0;
}
catch (const CAtlException &e)
{
wcout << "Error: " << AtlGetErrorDescription(e).GetString() << endl;

return e.m_hr;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]