小编JiY*_*hoi的帖子

如何检索在Acrobat中选择的打印机的名称?

我想使用SendMessage Windows API获取在Acrobat PrintDialog中选择的打印机的名称.

这是示例代码.

static string GetWindowText( hwnd_printDialog_in_Acrobat )
{
    int comboBoxCount = 0;
    int HWND_PRINTER_NAME = 1 ;

    List<IntPtr> ChildPtrList = GetChildWindows(hwnd_printDialog_in_Acrobat);
    for( i=0 ;  i < ChildPtrList.Size(); i++)   {
        GetClassName( ChildPtrList[i], sClass, 100);
        if (sClass.ToString() == "ComboBox") {
            comboBoxCount++;
            if (comboBoxCount == HWND_PRINTER_NAME )   {
                 hwnd = ChildPtrList[i];
                 break;
            }
        }
    }
    ChildPtrList.Clear();

    int sSize ;
    sSize = SendMessageW( hwnd, WM_GETTEXTLENGTH, IntPtr.Zero, IntPtr.Zero )+1;
    StringBuilder  sbTitle = new StringBuilder( sSize );
    SendMessageW( hwn, WM_GETTEXT, (IntPtr)sSize, sbTitle);
    return …
Run Code Online (Sandbox Code Playgroud)

c# windows acrobat printdialog

9
推荐指数
1
解决办法
362
查看次数

标签 统计

acrobat ×1

c# ×1

printdialog ×1

windows ×1