VFP中有没有办法得到系统缺省打印机的名称?

YECH 2003-10-10 11:14:02
如题,高手帮忙啊
...全文
97 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzk99 2003-10-13
  • 打赏
  • 举报
回复
查下VFP帮助就有了,我用过,但删除了,我再帮你查查.
等等...
YECH 2003-10-13
  • 打赏
  • 举报
回复
问题已经解决,谢谢各位的帮助。
最后用了GetProfileString api
declare INTEGER GetProfileString in kernel32.dll string lpAppName,string lpKeyName,string lpDefault,string @lpReturnedString ,integer nSize

这个api也是在看EnumPrinters时看到的,所以特别感谢westbulls

调用
GetProfileString("windows","device",0,@rtstring,250)
缺省打印机的名字在rtstring中了
98,me,2000,xp都可以用,呵呵。
wwle 2003-10-10
  • 打赏
  • 举报
回复
用prtinfo(n,n)实施颗返回好多值!
太多了,自己喳喳取!--〉
wwle 2003-10-10
  • 打赏
  • 举报
回复
To 明月:
笨蛋,想骗分!
那个函数不行!
她只是列出多有打印机而已!

getprint() ->返回打印机名称 但好像也不对呀!
等!
xiolig 2003-10-10
  • 打赏
  • 举报
回复
To 明月:
为什么一定是 3 呀?
magnetmoon 2003-10-10
  • 打赏
  • 举报
回复
=APRINTERS(ArrayName)
?ArrayName(3,1)
westbulls 2003-10-10
  • 打赏
  • 举报
回复
好象只有这个windows api可以用了:
Declare Function EnumPrinters Lib "winspool.drv" Alias "EnumPrintersA" (ByVal flags As Long, ByVal name As String, ByVal Level As Long, pPrinterEnum As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
说明
枚举系统中安装的打印机
westbulls 2003-10-10
  • 打赏
  • 举报
回复
1.use 你的报表.frx
2.wait window "Printer device='"+SUBSTR(expr,AT('DEVICE',expr)+7,AT('OUTPUT',expr)-AT('DEVICE',expr)-7)+"'"
这只是一个不得以而为之的方法,不一定合适,但你可以看看中否可用。
westbulls 2003-10-10
  • 打赏
  • 举报
回复
建议你最好使用windows api,到底是那一个函数,我帮你查查,看能否查到!
YECH 2003-10-10
  • 打赏
  • 举报
回复
PRTINFO里面没有打印机名称的。
getprint()会跳出选择窗口,我不要这个窗口。
aprin 函数只能列出所有打印机,缺省的不知道是哪个。

大家想想办法啊。

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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