Share via


Konvertieren von Zeichenfolgen

[Das dieser Seite zugeordnete Feature MCI ist ein Legacyfeature. Es wurde von MediaPlayer ersetzt. MediaPlayer wurde für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, nach Möglichkeit für neuen Code MediaPlayer anstelle von MCI zu verwenden. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Wenn Sie die mciSendString-Funktion verwenden, sind alle mit dem Befehl übergebenen Werte und alle Rückgabewerte Textzeichenfolgen, sodass Ihre Anwendung Konvertierungsroutinen benötigt, um von Variablen in Zeichenfolgen oder wieder zurück zu übersetzen. Im folgenden Beispiel wird das Quellrechteck abgerufen und die zurückgegebene Zeichenfolge in Rechteckkoordinaten konvertiert.

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;
}
 

Hinweis

RECT-Strukturen werden in MCI anders gehandhabt als in anderen Teilen von Windows; In MCI enthält das rechte Element die Breite des Rechtecks und das untere Element seine Höhe. In der Zeichenfolgenschnittstelle wird ein Rechteck als X1, Y1, X2 und Y2 angegeben. Die Koordinaten X1 und Y1 geben die obere linke Ecke des Rechtecks an, und die Koordinaten X2 und Y2 geben die Breite und Höhe an.