c#怎样操作打印机DLL动态库

各位大哥,小弟最近要用c#操作北洋打印机来打印条码标签。有没有操作打印机动态库的说明,或者例子?

c#
0

3个回答

具体什么打印机,什么动态库,直接看它的文档。如果有C++的函数调用原型,贴出来才好帮你。起码你也要说下你的打印机的型号。

1
caozhy
贵阳挖掘机马善福,自备车辆专业挖游泳池 回复tzyuan2011: 如果是串口的,看下这个http://download.csdn.net/detail/mjp1234airen4385/1664218 但是北洋有很多种。
接近 4 年之前 回复
tzyuan2011
tzyuan2011 回复caozhy: 回去,电脑上把c的调用发出来。帮我看下
接近 4 年之前 回复

看打印机的文档啊………

0

打印机文档里面都是delphi跟c的调用方式!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
VC操作斑马打印机的动态库
里面封装了斑马打印机的一些常规操作,关于动态库有相应的文档说明。区分32位和64位操作系统
怎样调用.dll动态库?
我想操作一个设备,设备提供商提供了一个.dll动态库,我调用这个动态库rn[DllImport("Rapi.dll", EntryPoint = " NLS_RapiInit ", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]rn public static extern int NLS_RapiInit (int nPort, int nRate, bool bCompress);rnRapi.dll是动态库名称,int NLS_RapiInit (int nPort, int nRate, bool bCompress);是函数名称。rn我调用这个函数NLS_RapiInit (1, 115200, true);结果出现错误“Unable to find an entry point named ' NLS_RapiInit ' in DLL 'Rapi.dll'.”rn这可能是什么原因呢,请各位高手帮忙
dll动态库怎样调试
我把一个函数写成动态库调用,但不知怎样调试
C# 调试动态库(DLL)
将调用DLL文件的工程中的“引用”上右键,选择“添加引用”,在弹出的对话框中,选择“dll文件的工程生成动态库的路径”下对应的DLL文件即可。
VB 鼠标滚轮操作DLL(动态库)
VB 鼠标滚轮操作DLL(动态库),注册方式网上有的,自己找下。
jawin方式操作dll动态库
java操作dll库的方法有好几种,今天分享一个jawin方式操作dll的方法。1.首先下载jawin-2.0-alpha1的jar包河jawin.dll文件,可在官网http://sourceforge.net/projects/jawinproject/处下载也可通过作者上传的资源http://download.csdn.net/detail/u011563755/9107917处免费得到,里边
怎样操作打印机
小弟刚学VC,想了解一下打印机。不知道怎么用程序控制打印机打印一个文件呢。rn我查了一些有关打印的API但是总是使用出错。不知那位大侠指点指点。这到底是怎祥一个流程。
C#调用Dll动态库问题
extern "C" bool __declspec(dllexport) __stdcall EvideoOpenRoom(BSTR RoomIP, BSTR ServerIP, int iFlag)rnrnC# 如何调用 rnrn[DllImportAttribute("SendWineEV.dll")]rnpublic static extern bool EvideoOpenRoom(ref string RoomIP, ref string ServerIP, int DataLen);rn我是这样写的,但是测不出来
C#调用C++动态库(dll)
在实际软件开发过程中,由于公司使用了多种语言开发,在C#中可能需要实现某个功能,而该功能可能用其他语言已经实现了,那么我们可以调用其他语言写好的模块吗?还有就是,由于C#开发好的项目,我们可以利用reflector等反编译工具反编译出其源代码,所以对于一些核心算法,我们不希望被别人知道,因此为了增强代码的安全性,我们需要将一些核心算法用C或C++来编写,然后用C#来调用这些已经写好的接口。在面对以
c#调用dll动态库的问题
dll动态库里的函数,但是我在C#程序里声明后,无法调用,说函数不存在!rn函数的C++原型如下:rnLONG HB_SDVR_Login_Ex_Nvs(rn char *sDVRIP,rn WORD wDVRPort,rn char *sUserName,rn char *sPassword,rn LPHB_SDVR_DEVICEINFO_EX lpDeviceInforn); rntypedef struct rn BYTE sSerialNumber[SERIALNO_LEN];rn BYTE byAlarmInPortNum;rn BYTE byAlarmOutPortNum;rn BYTE byDiskNum;rn BYTE byDVRType;rn BYTE byChanNum;rn BYTE byStartChan;rn BYTE sDvrName[NAME_LEN];rn BYTE sChanName[MAX_CHANNUM_EX][NAME_LEN];rn HB_SDVR_DEVICEINFO_EX, *LPHB_SDVR_DEVICEINFO_EX;rn我在C#里定义如下:rn public struct LPHB_SDVR_DEVICEINFO_EXrn rn public byte[] sSerialNumber;rn public byte byAlarmInPortNum;rn public byte byAlarmOutPortNum;rn public byte byDiskNum;rn public byte byDVRType;rn public byte byChanNum;rn public byte byStartChan;rn public byte[] sDvrName;rn public byte[][] sChanName;rn rnrn [DllImport("7000sdk.dll")]rn public static extern long HB_SDVR_Login_Ex_Nvs(string sDVRIP, UInt16 wDVRPort, string sUserName, string sPassword, LPHB_SDVR_DEVICEINFO_EX lpDeviceInfo);
C#调用C++动态库dll
cpp文件,生成dll主文件 // waveletDenoise.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" #include "Wavelet.h" #include "algorithm" #include "WaveletFilter.h" using nam...
vs2017引入dll动态库(c#)
在做unity的读取excel中,拿IExcelDataReader类读取的过程中,需要加入三个库Excel.dll 和ICSharpCode.SharpZipLib.dll和System.Data.dll  其中ICSharpCode.SharpZipLib.dll和System.Data.dll 会自动添加链接,但是Excel.dll不知道为什么不能自动添加,百度了半天都说右键引用>添...
C#操作打印机
C# 2.0程序如何获取打印机状态,如:是否正在打印?
C#与打印机操作
最近需要用C#操作打印机的问题,我在C#中设几个变量(如:ProductId=1,ProductName="NB"),把这些参数传到指定的文档(如ProductLab.Lab文档),在这个指定的文档(如ProductLab.Lab文档)里也设几个变量参数(ProductId,ProductName), rn这样,就把ProductLab.Lab打印出来,显示的结果为: rnProductID:1 rnProductName:NB rn这就就把1,NB打印出来了。 rnrn请问用什么方案解决好呢?有没有一些实用的代码实例,能够解决给高分以表感谢! rn如果有关于打印机操作方面需要的地方也可以提良好的见议!
c# 操作热感打印机。
总是打印的不完整。rnrnrn加好多ptinStr += " \n"; 才行。当时 我打印的 多了 也不行了。rnrn有的时候 总是 我这一次打印的 ,没有打印出来的部分内容。 下一次 打印 就出来了。rnrnptinStr += " 我家快餐确认单 \n";rn //客户名字rnrn rn ptinStr += "客户:" + this.userName + "\n";rn //地址rn ptinStr += "地址:" + this.address + "\n";rn //订餐 X 数量rn ptinStr += "订餐:" + d + "\n";rn //费用rn ptinStr += "费用:" + coun + " \n";rn //日期rn ptinStr += "日期:" + DateTime.Now.ToString() + "\n";rn //备注rn ptinStr += "备注:赠送 " + comboBox2.Text.Trim() + "\n\n \n";rnrn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn ptinStr += " \n";rn for (int i2 = 1; i2 < printPage;i2++ )rn rn ptinStr += " \n";rn if (printPage <= 5)rn rn ptinStr += " \n";rn ptinStr += " \n";rn rn rnrn rn rnrn RawPrinterHelper.SendStringToPrinter(pd.PrinterSettings.PrinterName, ptinStr);rnrn ptinStr = ""; rnrnrnrnrn//打印类rn public class RawPrinterHelperrn rn // Structure and API declarions:rn [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]rn public class DOCINFOArn rn [MarshalAs(UnmanagedType.LPStr)]rn public string pDocName;rn [MarshalAs(UnmanagedType.LPStr)]rn public string pOutputFile;rn [MarshalAs(UnmanagedType.LPStr)]rn public string pDataType;rn rn [DllImport("winspool.Drv", EntryPoint = "OpenPrinterA", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool OpenPrinter([MarshalAs(UnmanagedType.LPStr)] string szPrinter, out IntPtr hPrinter, IntPtr pd);rnrn [DllImport("winspool.Drv", EntryPoint = "ClosePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool ClosePrinter(IntPtr hPrinter);rnrn [DllImport("winspool.Drv", EntryPoint = "StartDocPrinterA", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool StartDocPrinter(IntPtr hPrinter, Int32 level, [In, MarshalAs(UnmanagedType.LPStruct)] DOCINFOA di);rnrn [DllImport("winspool.Drv", EntryPoint = "EndDocPrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool EndDocPrinter(IntPtr hPrinter);rnrn [DllImport("winspool.Drv", EntryPoint = "StartPagePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool StartPagePrinter(IntPtr hPrinter);rnrn [DllImport("winspool.Drv", EntryPoint = "EndPagePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool EndPagePrinter(IntPtr hPrinter);rnrn [DllImport("winspool.Drv", EntryPoint = "WritePrinter", SetLastError = true, ExactSpelling = true, CallingConvention = CallingConvention.StdCall)]rn public static extern bool WritePrinter(IntPtr hPrinter, IntPtr pBytes, Int32 dwCount, out Int32 dwWritten);rnrn // SendBytesToPrinter()rn // When the function is given a printer name and an unmanaged arrayrn // of bytes, the function sends those bytes to the print queue.rn // Returns true on success, false on failure.rn public static bool SendBytesToPrinter(string szPrinterName, IntPtr pBytes, Int32 dwCount)rn rn Int32 dwError = 0, dwWritten = 0;rn IntPtr hPrinter = new IntPtr(0);rn DOCINFOA di = new DOCINFOA();rn bool bSuccess = false; // Assume failure unless you specifically succeed.rnrn di.pDocName = "My C#.NET RAW Document";rn di.pDataType = "RAW";rnrn // Open the printer.rn if (OpenPrinter(szPrinterName.Normalize(), out hPrinter, IntPtr.Zero))rn rn // Start a document.rn if (StartDocPrinter(hPrinter, 1, di))rn rn // Start a page.rn if (StartPagePrinter(hPrinter))rn rn // Write your bytes.rn bSuccess = WritePrinter(hPrinter, pBytes, dwCount, out dwWritten);rn EndPagePrinter(hPrinter);rn rn EndDocPrinter(hPrinter);rn rn ClosePrinter(hPrinter);rn rn // If you did not succeed, GetLastError may give more informationrn // about why not.rn if (bSuccess == false)rn rn dwError = Marshal.GetLastWin32Error();rn rn return bSuccess;rn rnrn public static bool SendFileToPrinter(string szPrinterName, string szFileName)rn rn // Open the file.rn FileStream fs = new FileStream(szFileName, FileMode.Open);rn // Create a BinaryReader on the file.rn BinaryReader br = new BinaryReader(fs);rn // Dim an array of bytes big enough to hold the file's contents.rn Byte[] bytes = new Byte[fs.Length];rn bool bSuccess = false;rn // Your unmanaged pointer.rn IntPtr pUnmanagedBytes = new IntPtr(0);rn int nLength;rnrn nLength = Convert.ToInt32(fs.Length);rn // Read the contents of the file into the array.rn bytes = br.ReadBytes(nLength);rn // Allocate some unmanaged memory for those bytes.rn pUnmanagedBytes = Marshal.AllocCoTaskMem(nLength);rn // Copy the managed byte array into the unmanaged array.rn Marshal.Copy(bytes, 0, pUnmanagedBytes, nLength);rn // Send the unmanaged bytes to the printer.rn bSuccess = SendBytesToPrinter(szPrinterName, pUnmanagedBytes, nLength);rn // Free the unmanaged memory that you allocated earlier.rn Marshal.FreeCoTaskMem(pUnmanagedBytes);rn return bSuccess;rn rn public static bool SendStringToPrinter(string szPrinterName, string szString)rn rn rn IntPtr pBytes;rn Int32 dwCount;rn // How many characters are in the string?rn dwCount = szString.Length;rn // Assume that the printer is expecting ANSI text, and then convertrn // the string to ANSI text.rn pBytes = Marshal.StringToCoTaskMemAnsi(szString);rn // Send the converted ANSI string to the printer.rn SendBytesToPrinter(szPrinterName, pBytes, dwCount);rn Marshal.FreeCoTaskMem(pBytes);rn return true;rn rnrn
c#如何操作打印机?
在VB6。0中,只需要printer.print "xxxxxxx"就可以输出到打印机。rn我希望把一些字符输出到打印机,而无需调用打印机的属性对话框,以及页面设置。(而实际上通过系统里已有的默认打印机)也不需要由一个控件的打印方法来实现。rn请问该怎么做呢?rnrn谢谢!rn
动态库DLL
Windows动态链接库DLL
dll动态库
现在写了一个数据库接口函数,用ado。这个函数放在dll中,返回的数据放在一个结构中。现在的返回值总是不确定字符串和数值类型的数据。但是这个函数不放在dll中调用时,返回值是正常的。
DLL动态库
DLL主要的用途是使应用程序可以在运行时刻载入其中的代码,而不是编译时连接到应用程序中
delphi 怎样调用C#动态库
程序代码:rnC#里面的:[color=#FF0000]public static extern int GetDeviceListEx(IntPtr DeviceListFileName);[/color]rnrn我转成delphi的:[color=#FF0000]function GetDeviceListEx(DeviceListFileName: THandle):Integer;stdcall;rnexternal 'DeviceServer.dll';[/color]rn下面是我的代码;rnprocedure TForm1.Button1Click(Sender: TObject);rnvarrn str:string;rn p:PChar;rn i,j:Integer;rn filename :THandle;rnrnbeginrn str:='c:\web.xml';rn i:=PChar(aa);rn filename:=PAnsiChar(P);rn j:=GetDeviceListEx(filename);rn ShowMessage(IntToStr(q));rnend;rnrn问题:怎样调用function GetDeviceListEx(DeviceListFileName: THandle):Integer;stdcall;rn就是把'c:\web.xml' 传进DeviceListFileName;rn新手求指导;谢谢!
热敏打印机控制程序动态库
热敏打印机控制程序动态库:打印控制程序,打印动态库,支持暂停、取消等(含源码)
LINUX下的C怎样操作打印机?
LINUX下的C怎样操作打印机?
vc++ 串口操作动态库dll及测试程序
VC++6.0封装串口操作dll。一共是四个接口函数,打开串口,关闭串口,读取串口数据,串口写入数据。并附带相应的测试程序
怎样进行打印机的API操作?
-
c# 操作PDF的DLL
c#引用此dll,可以生成pdf,可以对PDF加密,加水印等等操作。
C# dll操作
主界面 上面有一个菜单栏, 下面是一个tabpage 。rn问题:有5个Tabpage标签,对应的是5个页面。这5个页面是单独的个体(winform),都被我打包成了dll文件,我现在点击主界面中的某一个tabpage标签,怎么样才能调用对应的某一个dll文件,把对应的某一个winform页面显示在tabpage上。
DLL动态库中带问号函数怎样调用?
函数文档:rn[img=https://img-bbs.csdn.net/upload/201605/18/1463578649_908309.jpg][/img]rn函数调用出错:rn[img=https://img-bbs.csdn.net/upload/201605/18/1463578681_106221.jpg][/img]rn函数接口查看:rn[img=https://img-bbs.csdn.net/upload/201605/18/1463578545_979036.jpg][/img]rn以上图中的函数,都有带问号,但提供方提供文档却是没有带问号,按文档说明调用如usb_VerifyOperInfo其中一函数,出现找不到入口提示,用工具查看是函数有带号,如?usb_VerifyOperInfo@@YGHPADAAH@Z,在VB中不知道如何调用?请教。rn
C#引用C++动态库 dll 实例
C#引用C++动态库 dll 实例 项目含有C++编写DLL C#引用C++dll
C#调用DLL动态库,请大家帮忙
[img=https://img-bbs.csdn.net/upload/201709/27/1506514350_547442.png][/img]rnrnC#调用DLL动态库时(动态库听说是用delphi编写的),会报内存受保护出错,具体见图片代码
C#引用C++动态库 dll 实例2
C# C++ 动态类库,C++动态类库来自于实例1,也可直接下载实例2演示
C#开发ActiveX控件调用动态库DLL
我想开发一个C# ActiveX控件调用动态库DLL,能够在网页中使用,创建ActiveX控件我已经完成了,但调用DLL动态库没有相应的反馈给我,就像没有做任何操作一样,网上说把动态库DLL放到windows/System32下面,可以调用成功,但我照做了,还是没有反应,我的系统是WIN732位,动态库DLL在C/S程序下调用是没有问题,希望高人帮忙解答下,如果对问题有什么不明白之处,可以留言,谢谢
C#调用非托管dll动态库返回值问题
函数原型:unsigned char* FindToken() 返回值是一个定长8字节的值rnrn我用C#如些调用:rn[DllImport("GDHidUserCtrl.dll", EntryPoint = "FindToken")]rn [return: MarshalAs(UnmanagedType.LPArray, SizeConst = 8)]rn internal static extern byte[] FindToken(); rn public static byte[] getUsbKey()rn rn return FindToken(); rn rnrn但运行时出现如下错误:rn无法封送处理“return value”: 无效的托管/非托管类型组合。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Runtime.InteropServices.MarshalDirectiveException: 无法封送处理“return value”: 无效的托管/非托管类型组合。rnrn源错误: rnrnrn行 26: public static byte[] getUsbKey()rn行 27: rn行 28: return FindToken(); rn行 29: rn行 30: rn rnrn源文件: e:\UsbKey\App_Code\UsbKeyClient.cs 行: 28 rnrn堆栈跟踪: rnrnrn[MarshalDirectiveException: 无法封送处理“return value”: 无效的托管/非托管类型组合。]rn UsbKeyClient.FindToken() +0rn UsbKeyClient.getUsbKey() in e:\UsbKey\App_Code\UsbKeyClient.cs:28rn testusbkey.Button1_Click(Object sender, EventArgs e) in e:\UsbKey\testusbkey.aspx.cs:20rn System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75rn System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +98rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33rn System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919rnrn 跪求各位高手帮小弟解决此问题,好急人啊!!!
高手求助:JS与 C# DLL动态库
简单说问题是我在客户端用 JS 从服务器取得的了一个XML文件rn var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); rn var xmldoc = new ActiveXObject("Msxml2.DOMDocument"); rn var url = "default.aspx" ;rn xmlhttp.Open("POST",url,false); rn xmlhttp.Send(""); rn var result = xmlhttp.ResponseText; rn xmldoc.loadXML(result); rn 现在我需要把xmldoc里的数据发送到本地DLL文件处理打印,我该怎么发送?rn 已经知道的的处理方式: 1保存成本地文件 把路径发送给DLL文件读取rn 2以字符串形式发送 rn rn rn rn rnrn rn请问有没有更好的方式? 请各位大虾帮忙,JS实在太差。。。
Unity中将c#导出DLL动态库
本文只作为参考,个人水平有限,望见谅! C#导出DLL,一开始就想到了将c++代码做成DLL的方法,各种复制粘贴宏定义,于是就找了一下C#导出DLL的一般方法,和后者如出一折,只是更简单一些,这里我就不详述了。于是乎就想到能不能写一个脚本,在Unity中可以直接导出动态库呢?再然后就知道了原来导出动态库全靠的是.net文件目录之下的csc.exe,这个程序的作用还不止导出.cs文件的dll,还可以
关于C#调用动态库Dll的方法!
厂方给了我一个C语言编写的dll。一直没有解决大致代码如下:rnrn[DllImport("XXXX.dll")]rnstatic extern string GetStrIp();rnrnprivate void button1_Click(object sender, EventArgs e)rnrn string IpStr=GetStrIp();rn MessageBox.show(IpStr);rnrnrn//这个方法在动态库里是有的。执行的时候报出异常:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”。rn之前没有写过类似这样的加载。网上翻查资料的。到底要怎么样才能有到他们Dll 提供的方法!求前辈指导!最好有代码,注释详细点啊。谢谢了
c#中怎么引用dll动态库
我用aximp没办法得到.net下的.dllrn工程里也没办法直接引用这个类,rn请高手指点,谢谢!
C#调用C++ DLL动态库的两种方式
第一种方式:C++导出函数,c#dllimport的方式 在很多地方都看到过,如[dllimport “user32.dll”]这种代码,调用windows API,就是通过这种方式实现 例子: 新建C++项目,创建动态链接库(DLL),然后添加头文件textdll.h #pragma once #ifdef A_EXPORTS #defi...
MFC——调用C#生成的DLL文件(动态库)
最近MFC的项目需要将PC端与PLC端进行网口连接,这边也是已经拥有了C#的动态库能使两者进行连接,但是 该怎么使用,怎么调用这个C#生成的.DLL文件,却从来没试过。于是在网上找了很多资料,发现都不是很全面, 走了不少弯路,最后配置了以下属性之后总算是成功了。 (1)打开工程属性——配置属性——常规      将右侧界面中的MFC的使用一栏改为:在共享DLL中使用MFC
Delphi调用C# 编写dll动态库
Delphi调用C# 编写dll动态库
VS2017创建DLL动态库------C#调用
VS2017创建DLL动态库------C#调用 1.VS2017新建项目:点击项目进入第二步。 2.项目与路径:点确定就OK了。 3.进入界面后:右键头文件---》添加---》新建项 3.1添加头文件  3.2写我们的接口函数    3.3写头文件    3.4添加def文件  3.5写def文件
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo