デフォルトのプリンタ名の取得

(2004.03.25)
    // デフォルトのプリンタ名の取得
    // Win9xではサポートされていない
    static CString GetDefaultPrinterName()
    {
        // 成功しても、何故か戻り値が"0"であるため、戻り値は評価しない
        //  → dwLengthのみで判断する
        DWORD dwLength = 0;
        ::GetDefaultPrinter(NULL, &dwLength);
        if (dwLength == 0)
        {
            return CString();
        }
 
        TCHAR* szResult = new TCHAR[dwLength];
        BOOL br = ::GetDefaultPrinter(szResult, &dwLength);
        if (br == 0)
        {
            delete [] szResult;
            return CString();
        }
 
        CString strResult = szResult;
        delete [] szResult;
 
        return strResult;
    }
一覧に戻る
© 2003 WAC.com All Right Reserved.