|
|
GetDefaultPrinter | 逻辑型 | | |
winspool.drv | |
GetDefaultPrinterW | |
pszBuffer | 文本型 | | | pcchBuffer | 整数型 | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 缓冲区大小 | 整数型 | | | 结果 | 逻辑型 | | |
缓冲区大小 = 1024 打印机名称 = 取空白文本 (缓冲区大小 ) 结果 = GetDefaultPrinter (打印机名称, 缓冲区大小 ) 如果真 (结果 = 假) GetDefaultPrinter (0, 缓冲区大小 ) 打印机名称 = 取空白文本 (缓冲区大小 )  结果 = GetDefaultPrinter (打印机名称, 缓冲区大小 ) 如果真 (结果 )  打印机名称 = 取文本左边 (打印机名称, 寻找文本 (打印机名称, 字符 (0 ), , 假) - 1 ) 信息框 ("无法获取默认打印机", 16, "错误", )
以上内容是对那个函数的修补
|
OpenPrinter | 逻辑型 | | |
winspool.drv | |
OpenPrinterW | |
pPrinterName | 文本型 | | | phPrinter | 整数型 | | | pDefault | 整数型 | | |
|
ClosePrinter | 逻辑型 | | |
winspool.drv | |
ClosePrinter | |
hPrinter | 整数型 | | |
|
GetPrinter | 逻辑型 | | |
winspool.drv | |
GetPrinterW | |
hPrinter | 整数型 | | | Level | 整数型 | | | pPrinter | 字节集 | | | cbBuf | 整数型 | | | pcbNeeded | 整数型 | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | hPrinter | 整数型 | | | 需要大小 | 整数型 | | | 缓冲区 | 字节集 | | | 模式标识 | 整数型 | | | OpenPrinter (打印机名称, hPrinter, 0 ) 如果真 (hPrinter = 0 ) 返回 -1 GetPrinter (hPrinter, 9, { }, 0, 需要大小 )缓冲区 = 取空白字节集 (需要大小 ) 如果真 (GetPrinter (hPrinter, 9, 缓冲区, 需要大小, 需要大小 ))  模式标识 = 取字节集数据 (缓冲区, #整数型, 21 )  模式标识 = -1 ClosePrinter (hPrinter )返回 模式标识
这些是验证
变量名 | 类 型 | 静态 | 数组 | 备 注 | 预期值 | 整数型 | | | 当前模式 | 整数型 | | |
预期值 = 选择 (模式 = "黑白", 2, 1 ) 写注册项 ( #本地机器, "SYSTEM\CurrentControlSet\Control\Print\Printers\" + 打印机名称 + "\PrinterDriverData", "ColorMode", 预期值 ) 如果真 (取注册项 ( #本地机器, "SYSTEM\CurrentControlSet\Control\Print\Printers\" + 打印机名称 + "\PrinterDriverData\ColorMode", ) ≠ 预期值 ) 信息框 ("注册表写入失败!", 16, "错误", ) 当前模式 = 取当前颜色模式 () 判断 (当前模式 = -1 ) 信息框 ("模式cha询失败,请检查驱动支持", 48, "提示", ) 判断 (当前模式 ≠ 预期值 ) 信息框 ("设置未生效,可能需要重启打印服务", 48, "警告", ) 信息框 ("成功设置为" + 模式 + "模式", 64, "成功", )
这是改进后的设置验证流程
测试模式 = 取当前颜色模式 () 判断 (测试模式 = 1 ) 信息框 ("当前为彩色模式", 0, "测试结果", ) 判断 (测试模式 = 2 ) 信息框 ("当前为黑白模式", 0, "测试结果", ) 信息框 ("无法识别的模式:" + 到文本 (测试模式 ), 16, "错误", )
打印机兼容性测试
|
|