Winapi 如何像从wince中的word pad一样从应用程序启动打印对话框

Winapi 如何像从wince中的word pad一样从应用程序启动打印对话框,winapi,mfc,windows-ce,Winapi,Mfc,Windows Ce,我正在尝试从应用程序启动默认打印对话框,但它不会出现。我能够从写字板应用程序启动“打印”对话框,它也在打印报表,但当我尝试执行相同操作时,什么都没有发生。以下是显示打印对话框的代码:- PAGESETUPDLG printDialog; ZeroMemory(&printDialog, sizeof(printDialog)); printDialog.lStructSize = sizeof(printDialog); printDialog.hwndOwner = NULL

我正在尝试从应用程序启动默认打印对话框,但它不会出现。我能够从写字板应用程序启动“打印”对话框,它也在打印报表,但当我尝试执行相同操作时,什么都没有发生。以下是显示打印对话框的代码:-

PAGESETUPDLG printDialog;

ZeroMemory(&printDialog, sizeof(printDialog)); 

printDialog.lStructSize = sizeof(printDialog); 

printDialog.hwndOwner = NULL; //or = NULL  

PageSetupDlg(&printDialog);
请告诉我如何做到这一点

问候,


Mukesh

您发布的代码在我开发的测试应用程序中运行良好,因此从技术上讲,代码没有问题

如果将hwndOwner指定为NULL(如示例代码中所示),则打印对话框将以无模式对话框的形式打开,该对话框可能在应用程序的GUI后面打开-因此,您的代码可能正确地打开了该对话框,而您只是看不到它。由于无模式对话框不会阻止您与生成它的窗口进行交互,因此您可以完全与主GUI进行交互,而不会意识到打印对话框就在它后面


您不能指定HwnOwner吗?它实际上应该是打开打印对话框的窗口的句柄,这样,正如我上面提到的,当配置打印机设置时,它会停止用户与主窗口的交互。

您的操作系统映像是否包括公共对话框支持(
SYSGEN\u COMMDLG
)?