我需要通过 CF 2.0 使用 windows mobile 6.5(带打印机)在设备中打印图像,并且我有 c++ 头文件,并且我还包装了调用非托管代码的类: 问题:即使我读到这个,我也不知道如何打印图像文档 文档中
- PRNAPI UINT WINAPI PrinterLoadImageFile (LPCTSTR pszFile); 描述:读取图像文件。返回: PRINTER_OK: Success PRINTER_ERROR: Errors Argument: LPCTSTR pszFile: [in] file to read
- PRNAPI UINT WINAPI PrinterImage (int nMode); 描述:打印图像。返回: PRINTER_OK: Success PRINTER_ERROR: Errors 参数: int nMode: [in] 设置图像打印模式。PRINTER_IMAGE_NORMAL:200 * 200 dpi 默认 PRINTER_IMAGE_DOUBLEWIDTH:100 * 200 dpi PRINTER_IMAGE_DOUBLEHEIGHT:200 * 100 dpi PRINTER_IMAGE_QUADRUPLE:100 * 100 dpi
- PRNAPI UINT WINAPI PrinterCloseImageFile (); 描述:删除阅读图像。返回: PRINTER_OK:成功 PRINTER_ERROR:错误
- PRNAPI LPCTSTR WINAPI PrinterGetImageName (); 描述:获取读取的图像名称。返回: LPCTSTR: [out] 文件名
我确实附带了这个包装器.net代码
[DllImport(@"PRN_DLL.dll")]
public static extern uint PrinterCloseImageFile();
[DllImport(@"PRN_DLL.dll")]
public static extern uint PrinterLoadImageFile(string pszFile);
[DllImport(@"PRN_DLL.dll")]
public static extern uint PrinterImage(int nMode);
[DllImport(@"PRN_DLL.dll")]
public static extern char[] PrinterGetImageName();
h文件的一部分:
//Close Image File
_DLL_EXPORT_ UINT WINAPI PrinterCloseImageFile();
//Load Image File
_DLL_EXPORT_ UINT WINAPI PrinterLoadImageFile(TCHAR* pszFile);
_DLL_EXPORT_ void WINAPI PrinterSetImageLeft(UINT nImageLeft);//ÇöÀç ´Ü»öºñÆ®¸Ê¸¸ Áö¿ø °¡´ÉÇÔ(2008³â11¿ù)
//Print Image
_DLL_EXPORT_ UINT WINAPI PrinterImage(int nMode);
//Get Image Name
_DLL_EXPORT_ TCHAR* PrinterGetImageName();
当我调用此代码时
String path = PathInfo.GetStartupPath() + "\\logo.png";//Path to image
NativPrinter.PrinterGetImageName();
MessageBox.Show(NativPrinter.PrinterLoadImageFile(path).ToString());
NativPrinter.PrinterImage(NativPrinter.PRINTER_IMAGE_NORMAL);
NativPrinter.PrinterCloseImageFile();
我在 PrinterLoadImageFile 中遇到错误(错误代码 1000 表示打印错误)。所以任何人都可以知道我的错误在哪里。对不起我的英语不好 。