Преобразование строк
[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
При использовании функции mciSendString все значения, передаваемые с помощью команды , и все возвращаемые значения являются текстовыми строками, поэтому приложению требуются подпрограммы преобразования для преобразования переменных в строки или обратно. В следующем примере извлекается исходный прямоугольник и возвращается строка в координаты прямоугольника.
BOOL GetSourceRect(LPTSTR lpstrAlias, LPRECT lprc)
{
TCHAR achRetBuff[128];
TCHAR achCommandBuff[128];
int result;
MCIERROR err;
// Build the command string.
result = _stprintf_s(
achCommandBuff,
TEXT("where %s source"),
lpstrAlias);
if (result == -1)
{
return FALSE;
}
// Clear the RECT.
SetRectEmpty(lprc);
// Send the MCI command.
err = mciSendString(
achCommandBuff,
achRetBuff,
sizeof(achRetBuff),
NULL);
if (err != 0)
{
return FALSE;
}
// The rectangle is returned as "x y dx dy".
// Translate the string into the RECT structure.
// Warning: This example omits error checking
// for the _tcstok_s and _tstoi functions.
TCHAR *p;
TCHAR *context;
// Left.
p = _tcstok_s(achRetBuff, TEXT(" "), &context);
lprc->left = _tstoi(p);
// Top.
p = _tcstok_s(NULL, TEXT(" "), &context);
lprc->top = _tstoi(p);
// Right.
p = _tcstok_s(NULL, TEXT(" "), &context);
lprc->right = _tstoi(p);
// Bottom.
p = _tcstok_s(NULL, TEXT(" "), &context);
lprc->bottom = _tstoi(p);
return TRUE;
}
Примечание
Структуры RECT обрабатываются в MCI иначе, чем в других частях Windows; В MCI правый элемент содержит ширину прямоугольника, а нижний элемент — его высоту. В строковом интерфейсе прямоугольник указывается как X1, Y1, X2 и Y2. Координаты X1 и Y1 указывают верхний левый угол прямоугольника, а координаты X2 и Y2 — ширину и высоту.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по