现有两台计算机A,B,他们都装有win2000,B上有一台打印机为共享;我的程序在A上,A上也接有打印机,现
在我的程序能使用本地接的打印机,但是B上共享的打印机确找不到,该怎么解决?我在使用EnumPrinters枚举打印机时Flags参数设为PRINTER_ENUM_LOCAL,Name参数为NULL,可以枚举本地所有的打印机;但是使用PRINTER_ENUM_NETWORK参数确得不到任何的打印机,请问各位该怎么解决?谢谢!
在我的程序能使用本地接的打印机,但是B上共享的打印机确找不到,该怎么解决?我在使用EnumPrinters枚举打印机时Flags参数设为PRINTER_ENUM_LOCAL,Name参数为NULL,可以枚举本地所有的打印机;但是使用PRINTER_ENUM_NETWORK参数确得不到任何的打印机,请问各位该怎么解决?谢谢!
解决方案 »
- 这两个表,怎么计算库存,帮写SQL语句
- 为什么我的blt函数不能全部覆盖整个图像
- 我想问一下com dll和支持com功能的exe有什么区别?
- 如何在WM_SETCURSOR消息中將ICON轉為CURSOR並設置成鼠標形狀.
- jpeg和bmp格式的相互转换
- *********小问题**********
- 知道对方IP(局域网),如何给对方发信息
- c 中的DIM3类型是做什么用的?
- 关于COM+的书哪一本好,,请介绍一下,,
- 请问如何动态增加1级菜单后,在动态二级菜单,有图片,请进
- 极菜的问题,但我的确不会,关于 TOOLBAR
- VC6 + ado + odbc + access2000 在98下运行及打包问题
我估计你对该参数的理解可能有些误解
LPPRINTER_INFO_2 pPrinters;
DWORD cbPrinters;
DWORD cReturned, i;
char buf[256];
HWND hwndCombobox = ::GetDlgItem(m_hWnd,IDC_COMBO1);
strcpy (buf, "Display");
::SendMessage (hwndCombobox, CB_INSERTSTRING, (UINT)-1, (LONG) buf);
//
// get byte count needed for buffer, alloc buffer, the enum the printers
//
EnumPrinters (dwFlags, NULL, 2, NULL, 0, &cbPrinters,
&cReturned);
if (!(pPrinters = (LPPRINTER_INFO_2) LocalAlloc (LPTR, cbPrinters + 4)))
{
::MessageBox (m_hWnd, _T("error"),
_T("error"), MB_OK | MB_ICONEXCLAMATION); }
if (!EnumPrinters (dwFlags, NULL, 2, (LPBYTE) pPrinters,
cbPrinters, &cbPrinters, &cReturned))
{
::MessageBox (m_hWnd, _T("error"),
_T("error"), MB_OK | MB_ICONEXCLAMATION);
} if (cReturned > 0)
for (i = 0; i < cReturned; i++)
{
//
// for each printer in the PRINTER_INFO_2 array: build a string that
// looks like "DEVICE_NAME;PORT;DRIVER_NAME"
//
strcpy (buf, (pPrinters + i)->pPrinterName);
strcat (buf, ";");
strcat (buf, (pPrinters + i)->pPortName);
strcat (buf, ";");
strcat (buf, (pPrinters + i)->pDriverName);
::SendMessage (hwndCombobox, CB_INSERTSTRING, (UINT)-1, (LONG) buf);
}
else
::MessageBox (m_hWnd, _T("No printers listed"), _T("PRINTER.EXE"), MB_OK);
::SendMessage(hwndCombobox,CB_SETCURSEL,(UINT)0,(LONG)0);