c#.net 2.0中的自定义打印对话框

c#.net 2.0中的自定义打印对话框,c#,printing,C#,Printing,我需要创建一个打印对话框。但是,在那个打印对话框中,我只想隐藏一些打印机。我读过一些关于customprintdialog的文章,如: 但是,我仍然无法找到在该打印对话框上获取打印机列表的方法。 该对话框如下所示: 按照上面链接中的代码,user32.dll库中有一个GetDlgItem函数,可以帮助我从对话框中获取控件(Ok按钮的id为1,Cancel按钮的id为2): 但我不知道组合框的id(包含打印机列表),因此无法编辑该组合框。我试过一些像3,4。。。。但是没有具有这些id的项目 有

我需要创建一个打印对话框。但是,在那个打印对话框中,我只想隐藏一些打印机。我读过一些关于customprintdialog的文章,如:

但是,我仍然无法找到在该打印对话框上获取打印机列表的方法。 该对话框如下所示:

按照上面链接中的代码,user32.dll库中有一个GetDlgItem函数,可以帮助我从对话框中获取控件(Ok按钮的id为1,Cancel按钮的id为2):

但我不知道组合框的id(包含打印机列表),因此无法编辑该组合框。我试过一些像3,4。。。。但是没有具有这些id的项目

有人知道如何自定义打印机列表吗?在这种情况下,请帮助我:)
如果您对我的问题有与我提供的链接中的解决方案不同的其他解决方案,也请告诉我。

是您的问题,请创建自定义打印对话框或检索已安装的打印机列表?我需要创建一个自定义打印对话框,只列出一些打印机,而不是所有已安装的打印机。问题是无法检索已安装的打印机列表。请使用Spy++查找ID。我仍然不明白,是否正在尝试修改默认打印机对话框以隐藏某些打印机?或者你想用C从头开始建立一个打印对话框#隐藏一些已安装的打印机?@HansPassant:by Spy++,我找到了我需要的:)谢谢。
private const int IDOK = 1;
private const int IDCANCEL = 2;