Laptop-/Schiefermodus umschalten zwischen Zuständen
Dieses Thema enthält Beispielcode, mit dem der Indikatorstatus für Laptop/Schiefermodus umgeschaltet wird.
int __cdecl ToggleConversionIndicator(
__in int argc,
__in_ecount(argc) char **argv)
{
LPWSTR DevicePath;
HANDLE FileHandle;
BOOL b;
BYTE buffer;
HWND hwnd;
MSG msg;
//assuming our GetDevicePath method is creating a device path using use SetupDi API
DevicePath = GetDevicePath((LPGUID)&GUID_GPIOBUTTONS_LAPTOPSLATE_INTERFACE);
FileHandle = CreateFile(DevicePath,
GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
0,
NULL);
buffer = 0;
WriteFile(FileHandle, &buffer, sizeof(buffer), NULL, NULL);
return 0;
}
Hinweis: Das Laptop-/Schiefermodus-Indikatorgerät kann jeweils nur von einem Prozess geöffnet werden. CreateFile schlägt fehl, und GetLastError gibt ERROR_ACCESS_DENIED zurück, wenn das Gerät bereits von einem anderen Prozess geöffnet wurde.