在VC6中GetDefaultPrinter()引用没有发现

时间:2014-04-22 08:45:31

标签: winapi visual-c++ printing mfc vc6

根据previous question的建议我试图使用GetDefaultPrinter()然后再使用CreateDC(),但VC6一直在说

error C2065: 'GetDefaultPrinter' : undeclared identifier

我试过谷歌,但许多人面临同样的问题,但没有一个是富有成效的。这是使用GetDefaultPrinter()的正确方法。

包括Winspool.h和Windows.h。

1 个答案:

答案 0 :(得分:1)

你可能有一个非常旧的SDK。检查winspool.h文件中是否定义了GetDefaultPrinter。如果没有,这里有定义:

BOOL
WINAPI
GetDefaultPrinterA (
    LPSTR pszBuffer,
    LPDWORD pcchBuffer
    );
BOOL
WINAPI
GetDefaultPrinterW (
    LPWSTR pszBuffer,
    LPDWORD pcchBuffer
    );
#ifdef UNICODE
#define GetDefaultPrinter  GetDefaultPrinterW
#else
#define GetDefaultPrinter  GetDefaultPrinterA
#endif // !UNICODE

BOOL
WINAPI
SetDefaultPrinterA (
    LPCSTR pszPrinter
    );
BOOL
WINAPI
SetDefaultPrinterW (
    LPCWSTR pszPrinter
    );
#ifdef UNICODE
#define SetDefaultPrinter  SetDefaultPrinterW
#else
#define SetDefaultPrinter  SetDefaultPrinterA
#endif // !UNICODE