/** * Sends Control-Alt-Delete to the keyboard. This could be done otherwise * but it's so common that we'll be nice and supply a convenience API. * * @returns COM status code * */ STDMETHODIMP Keyboard::PutCAD() { static com::SafeArray<LONG> cadSequence(6); cadSequence[0] = 0x1d; // Ctrl down cadSequence[1] = 0x38; // Alt down cadSequence[2] = 0x53; // Del down cadSequence[3] = 0xd3; // Del up cadSequence[4] = 0xb8; // Alt up cadSequence[5] = 0x9d; // Ctrl up return PutScancodes (ComSafeArrayAsInParam(cadSequence), NULL); }
/** * Sends a scancode to the keyboard. * * @returns COM status code * @param scancode The scancode to send */ STDMETHODIMP Keyboard::PutScancode(LONG scancode) { com::SafeArray<LONG> scancodes(1); scancodes[0] = scancode; return PutScancodes(ComSafeArrayAsInParam(scancodes), NULL); }