C#中奇怪的事!!!大家帮忙看看!

wsz0812 2009-12-30 02:50:30
主要就是在打印的时候,判断一下打印机是有连接,

有就打印,没有就提示"MessageBox.Show("没打印机");"

可是我无论我怎么判断都不行,有打印机的时候,直接就打印出来了,
没有的时候,就停在那里,卡着.

判断语句不起作用......!

用来判断的代码如下:

C# code SafeFileHandle hFile = CreateFile(@"LPT1", GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);

if (hFile.IsInvalid)
{
MessageBox.Show("有打印机");

}
else
{
MessageBox.Show("没打印机");
return;
}





...全文
204 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuoming120 2009-12-30
  • 打赏
  • 举报
回复
打印机是有个打开一个服务,你在程序中判断这个服务是否打开就好了。好像是cimm吧
  • 打赏
  • 举报
回复
晕,在C#里用C++的方式操作

是超市收银的票据打印机吧

.net系统就提供了这样的支持
PrintDocment
ggg2009 2009-12-30
  • 打赏
  • 举报
回复
对我来说是个难题。。。
lyangelwing 2009-12-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sdfkfkd 的回复:]
PrintDocument.PrinterSettings.IsValid
[/Quote]

俺也觉得就这个~~给我1分吧
特别 2009-12-30
  • 打赏
  • 举报
回复
PrintDocument.PrinterSettings.IsValid
hanzhaoever 2009-12-30
  • 打赏
  • 举报
回复
mark
wsz0812 2009-12-30
  • 打赏
  • 举报
回复
这个要怎么用呢?
我现在的这种打印方式是:

读字符串,直接写到端口打印的,用的是热敏打印机.

打印机是LPT1接口的.
真相重于对错 2009-12-30
  • 打赏
  • 举报
回复
用PrinterSettings
wsz0812 2009-12-30
  • 打赏
  • 举报
回复
要怎么才能知道这并口有连接设备呢?
wsz0812 2009-12-30
  • 打赏
  • 举报
回复
那在怎么办呢?
真相重于对错 2009-12-30
  • 打赏
  • 举报
回复
你只是判断"lpt1" ,并不是判断打印机

lpt1 只是并口,不一定是打印机

wsz0812 2009-12-30
  • 打赏
  • 举报
回复
hFile.IsInvalid 这个不是有个返回值吗?

它返回的一会是 true ,一会是 false ,在没有打印机的时候,

有打印机的时候,就一直返回false !!

不知道是怎么回事!
wsz0812 2009-12-30
  • 打赏
  • 举报
回复
就一直卡着,"自"动不了了!
平生我自如 2009-12-30
  • 打赏
  • 举报
回复
有没有打印机 要人为判断吗?我以前都是系统自动的哦!

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧