如何使用 visual c 6.0使用教程#打印机

This site in other countries/regions:通过使用 Visual C#.net 将原始数据发送到打印机 - 下载频道
- CSDN.NET
&&&&通过使用 Visual C#.net 将原始数据发送到打印机
通过使用 Visual C#.net 将原始数据发送到打印机
使用 Win32 打印后台处理程序函数来将原始数据发送到 C# 中的打印机。 ... 以预先设好格式的文件的内容读入内存,然后通过使用 WritePrinter 将那些字节发送到打印机。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
开发技术下载排行(高手请进)用C# 如何获取打印机中的任务数_百度知道
(高手请进)用C# 如何获取打印机中的任务数
用C# 如何获取打印机中的任务数最好给个实例。谢谢!
提问者采纳
Create a PrintServer &#47.NET Framework 系统要求.Printing(在 S foreach (PrintQueue pq in myPrintQueues) { printQueueNames += &quot。 命名空间; &&#47: S Cn&#92.0 SP1;.Printing 程序集. PrintServer myPrintServer = new PrintServer(@&My Print Queues.NET Compact Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表。 C# 复制代码 &#47:SnPress R&#92.&theServer&quot:; List the print server' + pq.NET Framework 和 。 版本信息 : S String printQueueNames = &quot.Ps queues PrintQueueCollection myPrintQueues = myPrintS / Console:&#92,没测试过。 示例 下面的示例演示如何使用此方法列出 PrintServer 承载的打印队列、3;n&quot..GetPrintQueues() C# public PrintQueueCollection GetPrintQueues() Visual C++ ;&#92.5: PrintQueueCollection^ GetPrintQueues() J# public PrintQueueCollection GetPrintQueues() JScript public function GetPrintQueues() ,不知道可以用不;\ must be a print server to which the user h/ 平台 Windows Vista :3; } Console.Printing..NET Framework 受以下版本支持,呵呵获取打印服务器承载的打印队列的集合;t&theServer&quot.PrintQueueCollection 打印服务器上的打印队列的 PrintQueueCollection.ReadLine();\n&quot.Name + &quot,请参见;);): PrintQueueCollection 返回值 类型.GetPrintQueues();&#92.dll 中) 语法 Visual Basic(声明) Public Function GetPrintQueues As PrintQueueCollection Visual Basic(用法) Dim instance As PrintServer Dim returnValue As PrintQueueCollection returnValue = instance.WriteLine(&&#47在MSDN找到的:.WriteLine(printQueueNames)、3
参考资料:
其他类似问题
打印机的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何启用和禁用使用 SetPrinter 函数在 Visual C#中的打印机_百度知道
如何启用和禁用使用 SetPrinter 函数在 Visual C#中的打印机
提问者采纳
设备相关数据;设备独立数据&quot。 在 DEVMODE 的专用部分存在紧跟公共由 DEVMODE 结构的内存的连续缓冲区中定义的部分,因为它是打印机驱动程序的不同打印机。 程序不能预测此缓冲区的大小;和专用或&quot在 DEVMODE 结构如记录由 Win 32 SDK 包含公共或&quot..
其他类似问题
函数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁C/S程序使用HTML文件作为打印模板
C/S程序使用HTML文件作为打印模板
在网上找了一堆的资料,整理到郁闷呀,慢慢试慢慢改,哎,终于成功了,哈,菜鸟伤不起呀
public partial class Print : Form
// 定义dgSetPage委托进行打印时的选项设置
public delegate void dgSetPage();
//定义dgFileDelete 委托进行打印完成后,删除填充后的模板文件
public delegate void dgFileDelete();
[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("User32.dll", EntryPoint = "FindWindowEx")]
private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpClassName, string lpWindowName);
[DllImport("User32.dll", EntryPoint = "SendMessage")]
public static extern int SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);
//定义SendMessage方法内使用的鼠标单击 常量
const int BM_CLICK = 0xF5;
private void btnPrint_Click(object sender, EventArgs e)
btnPrint.Enabled =
//因为是使用WebBrowser对象进行打印HTML文件,所以无法控制页面设置,需要使用注册表修改一些内容
//方法 ChangePageSettingByRegist ,修改注册表,取消页眉、页角项目
ChangePageSettingByRegist();
//读取数据填充HTML模板
string sFillDataResult=FillDataToNewFile();
if (sFillDataResult.IndexOf("NG") >= 0)
MessageBox.Show(sFillDataResult);
pd_PrintPage();
btnPrint.Enabled =
private void pd_PrintPage()
//创建一个WebBrowser对象,然后用它在后台打开并解释HTML文件
WebBrowser webBrowserForPrinting = new WebBrowser();
lblNewFile.Text
保存是填充后的模板文件名
webBrowserForPrinting.Url = new Uri(Application.StartupPath.ToString() + "\\" +
lblNewFile.Text);
//当加载文件完成后激发手动追加的事件
webBrowserForPrinting.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(PrintDocument);
webBrowserForPrinting.Focus();
private void PrintDocument(object sender,WebBrowserDocumentCompletedEventArgs e)
//创建一个新的线程,用于当弹出页面设置对话框时发送设置为横向的指令
Thread th = new Thread(new ThreadStart(new dgSetPage(SetPage)));
th.Start();
//弹出页面设置对话框-----即上方定义的新进程需要处理的窗口
((WebBrowser)sender).ShowPageSetupDialog();
((WebBrowser)sender).Print();
//释放资源
((WebBrowser)sender).Dispose();
//删除填充后的模板文件,防止重复打印
System.IO.File.Delete(lblNewFile.Text);
lblNewFile.Text = "";
此处方式被注释掉了,因为如果需要修改主窗口内控件的内容或者状况里需要使用委托调用修改方法
需要时,把SetPage与SetPage2名称互换即可在变更后的名称为SetPage2内添加修改主窗口内容的代码
//private void SetPage2()
//新建委托对象
MethodInvoker In = new MethodInvoker(SetPage2);
this.BeginInvoke(In);
private void SetPage()
int i = 0;
此处需要设置循环查找时间,目前为超过10秒未找到结束查找
while (true)
IntPtr WindownHand = FindWindow("#32770", "页面设置");
if (WindownHand != IntPtr.Zero)
//找到窗口内子项目的名柄,然后模拟鼠标左键单击事件
IntPtr Wk = FindWindowEx(WindownHand, IntPtr.Zero, null, "横向(&A)");
SendMessage(Wk, BM_CLICK, 0, 0);
IntPtr Wk1 = FindWindowEx(WindownHand, IntPtr.Zero, null, "确定");
SendMessage(Wk1, BM_CLICK, 0, 0);
if (i > 20)
Thread.Sleep(500);
i++;
//修改注册表,把页眉页脚拿掉,然后设置为缩放至一页
private void ChangePageSettingByRegist()
RegistryKey hklm = Registry.CurrentU
RegistryKey software = hklm.OpenSubKey(@"Software\Microsoft\Internet Explorer\PageSetup".ToUpper(), true);
object A = (object)"";
object B = (object)"0.5";
object C = (object)"0";
software.SetValue("header", A);
software.SetValue("footer", A);
software.SetValue("margin_bottom", B);
software.SetValue("margin_left", C);
software.SetValue("margin_right", C);
software.SetValue("margin_top", C);
software.SetValue("Shrink_To_Fit","yes");
HTML模板内容片段
占位符,用于替换
Machine Protocol
Purchase Order No:
Assembly date:
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。

我要回帖

更多关于 visual c 6.0使用 的文章

 

随机推荐