易语言取默认打印机源码
系统结构:子程序_枚举打印机,设置默认打印机,开始打印作业_,打印新页_,完成页面打印_,结束打印作业_,打开打印机_,创建设备场景_,枚举打印机_,复制字符串_,取变量长度_,取内存变量地址_,SetDefaultPrinter,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 子程序_枚举打印机
| |
| |------ _按钮1_被单击
| |
| |------ _组合框_打印机名称_列表项被选择
| |
| |------ 设置默认打印机
| |
| |
======调用的Dll
| |
| |---[dll]------ 开始打印作业_
| |
| |---[dll]------ 打印新页_
| |
| |---[dll]------ 完成页面打印_
| |
| |---[dll]------ 结束打印作业_
| |
| |---[dll]------ 打开打印机_
| |
| |---[dll]------ 创建设备场景_
| |
| |---[dll]------ 枚举打印机_
| |
| |---[dll]------ 复制字符串_
| |
| |---[dll]------ 取变量长度_
| |
| |---[dll]------ 取内存变量地址_
| |
| |---[dll]------ SetDefaultPrinter
调用的DLL命令:
.DLL命令 开始打印作业_, 整数型, "gdi32.dll", "StartDocA"
.参数 设备场景, 整数型, , hdc
.参数 lpdi, 输入输出文档信息_
.DLL命令 打印新页_, 整数型, "gdi32.dll", "StartPage"
.参数 设备场景, 整数型, , hdc
.DLL命令 完成页面打印_, 整数型, "gdi32.dll", "EndPage"
.参数 设备场景, 整数型, , hdc
.DLL命令 结束打印作业_, 整数型, "gdi32.dll", "EndDoc"
.参数 设备场景, 整数型, , hdc
.DLL命令 打开打印机_, 整数型, "winspool.drv", "OpenPrinterA"
.参数 打印机名称, 文本型, , pPrinterName,要打开的打印机的名字
.参数 打印机句柄, 整数型, 传址, phPrinter,用于装载打印机的句柄
.参数 打印机信息, 打印默认_, 传址, pDefault,PRINTER_DEFAULTS,这个结构保存要载入的打印机信息
.DLL命令 创建设备场景_, 整数型, "gdi32.dll", "CreateDCA", , $(b)
.参数 驱动名称, 文本型, , lpDriverName,根据参数值而定
.参数 设备名称, 文本型, , lpDeviceName,所要创建的设备场景名称
.参数 参数, 文本型, , lpOutput,一般情况下为空
.参数 场景结构, 整数型, , lpInitData,0为使用默认设置
.DLL命令 枚举打印机_, 整数型, "winspool.drv", "EnumPrintersA"
.参数 标志值, 整数型, , flags,一个或多个标志
.参数 打印机名称, 文本型, , name,vbNullString表示枚举同本机连接的打印机。否则由标志和级别决定
.参数 结构的类型, 整数型, , Level,1,2,4或5(4仅适用于NT;5仅适用于Win95和NT 4.0),指定欲枚举的结构的类型。如果是1,则name参数由标志设置决定。如果是2或5,那么name就代表欲对其打印机进行枚举的服务器的名字;或者为vbNullString。如果是4,那么只有PRINTER_ENUM_LOCAL和PRINTER_ENUM_CONNECTIONS才有效。名字必须是vbNullString
.参数 结构缓冲区, 整数型, 传址, pPrinterEnum,包含PRINTER_ENUM_x结构的缓冲区,其中的x代表级别(Level)
.参数 缓冲区大小, 整数型, , cbBuf,pPrinterEnum缓冲区中的字符数量
.参数 缓冲区长度, 整数型, 传址, pcbNeeded,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量
.参数 结构数量, 整数型, 传址, pcReturned,载入缓冲区的结构数量(用于那些能返回多个结构的函数)
.DLL命令 复制字符串_, 整数型, "kernel32.dll", "lstrcpyA"
.参数 文本1, 文本型, , lpString1
.参数 文本2, 整数型, , lpString2
.DLL命令 取变量长度_, 整数型, "kernel32", "lstrlenA"
.参数 变量, 整数型, , lpString
.DLL命令 取内存变量地址_, 整数型, "kernel32", "lstrcpynA"
.参数 数据1, 文本型, , lpString1
.参数 数据2, 文本型, , lpString2
.参数 数据长度, 整数型, , iMaxLength
.DLL命令 SetDefaultPrinter, 整数型, "winspool.drv", "SetDefaultPrinterA"
.参数 pszPrinter, 文本型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。