【问题标题】:GetDefaultPrinter() reference unfound in VC6在 VC6 中找不到 GetDefaultPrinter() 引用
【发布时间】:2014-04-22 08:45:31
【问题描述】:

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

error C2065: 'GetDefaultPrinter' : undeclared identifier

我尝试了 Google,但许多人都面临同样的问题,但没有一个是富有成效的。这是使用 GetDefaultPrinter() 的正确方法吗?

包括 Winspool.h 和 Windows.h。

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 谢谢@Michael :) 我已经安装了最新的 Win SDK 7.1 但如何在 VC6 中使用它?
    • 您不能在 VC6 中使用最新的 SDK。 VC6 的最新 SDK 是 2003 年的。看here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2012-04-20
    • 2014-06-08
    相关资源
    最近更新 更多