×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 309879|回复: 5

[vb,vc,delphi] VB API:打印函数 第三页.txt

[复制链接]
发表于 2006-3-13 12:13:33 | 显示全部楼层 |阅读模式
EnumPorts  

VB声明  
Declare Function EnumPorts Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName As String, ByVal Level As Long, ByVal lpbPorts As Long, ByVal cbBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long  
说明  
枚举一个系统可用的端口  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
pName String,指定服务器的名字。用vbNullString指定本地系统  
Level Long,1或2(1用于NT 3.51),分别指定PORT_INFO_1 或 PORT_INFO_2  
lpbPorts Long,包含PORT_INFO_1 或 PORT_INFO_2结构的缓冲区  
cbBuf Long,lpbPorts缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数)  
注解  
参考AddPort函数,了解进一步的情况
  

EnumPrinterDrivers  

VB声明  
Declare Function EnumPrinterDrivers Lib "winspool.drv" Alias "EnumPrinterDriversA" (ByVal pName As String, ByVal pEnvironment As String, ByVal Level As Long, pDriverInfo As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcRetruned As Long) As Long  
说明  
枚举指定系统中已安装的打印机驱动程序  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
pName String,指定服务器的名字。用vbNullString指定本地系统  
pEnvironment String,欲在其中对驱动程序进行枚举的环境(如:Windows NT x86)。如设为vbNullString,表示使用当前(本地)系统环境  
Level Long,1,2或3(3仅适用于Windows 95和NT 4.0)  
pDriverInfo Byte,包含DRIVER_INFO_1, DRIVER_INFO_2 或 DRIVER_INFO_3结构的缓冲区  
cbBuf Long,pDriverInfo缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数)  


EnumPrinters  

VB声明  
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  
说明  
枚举系统中安装的打印机  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
flags Long,一个或多个下述标志  
PRINTER_ENUM_LOCAL 枚举本地打印机(包括Windows 95中的网络打印机)。名字会被忽略  
PRINTER_ENUM_NAME 枚举由name参数指定的打印机。其中的名字可以是一个供应商、域或服务器。如name为NULL,则枚举出可用的打印机  
PRINTER_ENUM_SHARE 枚举共享打印机(必须同其他常数组合使用)  
PRINTER_ENUM_CONNECTIONS 枚举网络连接列表中的打印机(即使目前没有连接——仅适用于NT)  
PRINTER_ENUM_NETWORK 枚举通过网络连接的打印机。级别(Level)必须为1。仅适用于NT  
PRINTER_ENUM_REMOTE 枚举通过网络连接的打印机和打印服务器。级别必须为1。仅适用于NT  
name String,vbNullString表示枚举同本机连接的打印机。否则由标志和级别决定  
Level Long,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 Byte,包含PRINTER_ENUM_x结构的缓冲区,其中的x代表级别(Level)  
cbBuf Long,pPrinterEnum缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数)  
注解  
第4和第5级将它们的结构建立在系统注册表的基础上,而且比第2级快得多。后者要求每台打印机都处于打开状态
请参考微软Win32手册,了解这个函数进一步的情况
  


GetPrinterData  

VB声明  
Declare Function GetPrinterData Lib "winspool.drv" Alias "GetPrinterDataA" (ByVal hPrinter As Long, ByVal pValueName As String, pType As Long, pData As Byte, ByVal nSize As Long, pcbNeeded As Long) As Long  
说明  
为打印机设置注册表配置信息  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)  
pValueName String,欲设置的注册表值的名称  
pType Long,指定数据类型。使用来自API32.TXT的、以REG_??开头的一个常数  
pData Byte,指定一个Byte数组以接收数据  
nSize Long,以字节表示的pData数组的长度  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  


EnumPrintProcessorDatatypes  

VB声明  
Declare Function EnumPrintProcessorDatatypes Lib "winspool.drv" Alias "EnumPrintProcessorDatatypesA" (ByVal pName As String, ByVal pPrintProcessorName As String, ByVal Level As Long, pDatatypes As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcRetruned As Long) As Long  
说明  
枚举由一个打印处理器支持的数据类型  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
pName String,指定服务器的名字。用vbNullString表示使用本地系统  
pPrintProcessorName String,欲对其数据类型进行枚举的打印处理器的名字  
Level Long,设为1  
pDatatypes Byte,包含DATATYPES_INFO_1结构的缓冲区  
cbBuf Long,pDatatypes缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数)  
注解  
DATATYPES_INFO_1结构包含了单个字段,其中保存了数据类型的名称
  

EnumPrintProcessors  

VB声明  
Declare Function EnumPrintProcessors Lib "winspool.drv" Alias "EnumPrintProcessorsA" (ByVal pName As String, ByVal pEnvironment As String, ByVal Level As Long, pPrintProcessorInfo As Byte, ByVal cdBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long  
说明  
枚举系统中可用的打印处理器  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
pName String,指定服务器的名字。用vbNullString表示使用本地系统  
pEnvironment String,欲枚举的打印处理器的环境(如:Windows NT x86)。如设为vbNullString,表示使用当前(本地)系统环境  
Level Long,设为1  
pPrintProcessorInfo Byte,包含PRINTPROCESSOR_INFO_1结构的缓冲区  
cbBuf Long,pPrintProcessorInfo缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
pcReturned Long,载入缓冲区的结构数量(用于那些能返回多个结构的函数)  


Escape  

VB声明  
Declare Function Escape Lib "gdi32" Alias "Escape" (ByVal hdc As Long, ByVal nEscape As Long, ByVal nCount As Long, ByVal lpInData As String, lpOutData As Any) As Long  
说明  
一个灵活的设备控制函数  
返回值  
Long,对于QUERYESCSUPPORT,如支持指定的换码,则返回TRUE(非零);否则返回零。对于PASSTHROUGH,大于零值表示成功;如指定的换码不支持,则返回零;如果出错,则返回负值  
参数表  
参数 类型及说明  
hdc Long,设备场景的句柄  
nEscape Long,换码数量,由API32.TXT文件中的一个常数定义。这决定了具体的运作方式。请参考注解  
nCount Long,lpInData缓冲区的大小,用字节数表示  
lpInData String,由换码类型决定。对于QUERYESCSUPPORT,这代表指向一个整数变量的指针,那个变量包含了要测试的换码值。对于PASSTHROUGH,这代表指向一个数据块的指针,那个数据块包含于要发送数据的头16位字节数量中。数据块剩余的部分包含了要发送给打印机的实际数据缓冲区  
lpOutData Any,指定一个输出缓冲区,它的具体使用由换码决定。它不由QUERYESCSUPPORT或PASSTHROUGH使用,而且应设为NULL(ByVal 0&)  
注解  
只有两个换码在Win32环境中经常用到。请用QUERYESCSUPPORT换码判断一个换码是否得到了驱动程序的支持。用PASSTHROUGH换码将原始数据直接发给一台打印机。其他换码在Win32仍然得到了支持,但目的只是为了与Win16保持兼容
  

FindClosePrinterChangeNotification  

VB声明  
Declare Function FindClosePrinterChangeNotification Lib "winspool.drv" Alias "FindClosePrinterChangeNotification" (ByVal hChange As Long) As Long  
说明  
关闭用FindFirstPrinterChangeNotification函数获取的一个打印机通告对象  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hChange Long,欲关闭的打印机通告对象句柄  
适用平台  
Windows NT
  

FindFirstPrinterChangeNotification  

VB声明  
Declare Function FindFirstPrinterChangeNotification& Lib "winspool.dll" (ByVal hPrinter As Long, ByVal fdwFlags As Long, ByVal fdwOptions As Long, pPrinterNotifyOptions As Byte)  
说明  
创建一个新的改变通告对象,以便我们注意打印机状态的各种变化  
返回值  
Long,执行成功则返回改变通告对象的句柄。INVALID_HANDLE_VALUE表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机对象的句柄(用OpenPrinter获得)  
fdwFlags Long,来自API32.TXT文件的、带有PRINTER_CHANGE_??前缀的某个常数,它们对要观察的对象进行了描述。如pPrinterNotifyOptions不为零,那么可将这个参数设为零  
fdwOptions Long,保留,设为零  
pPrinterNotifyOptions Byte,指定一个缓冲区,其中包含了一个PRINTER_NOTIFY_OPTIONS结构。而这个结构又包含了指向一个或多个PRINTER_NOTIFY_OPTIONS_TYPE结构的指针。可将这个参数设为零(将声明方式改为ByVal As Long并传递零值),以便用fdwFlags字段指定想观察的变化  
适用平台  
Windows NT
  
其他  
以下的声明是从VB的API文本查看器里复制的:
Declare Function FindFirstPrinterChangeNotification Lib "winspool.drv" Alias "FindFirstPrinterChangeNotification" (ByVal hPrinter As Long, ByVal fdwFlags As Long, ByVal fdwOptions As Long, ByVal pPrinterNotifyOptions As String) As Long  


FindNextPrinterChangeNotification  

VB声明  
Declare Function FindNextPrinterChangeNotification& Lib "winspool.dll" (ByVal hChange As Long, pdwChange As Long, ByVal pvReserved As Long, ByVal ppPrinterNotifyInfo As Long)  
说明  
用这个函数判断触发一次打印机改变通告信号的原因  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hChange Long,一个打印机通告改变对象的句柄  
pdwChange Long,指定用于装载特定标志的一个Long型值,该标志标志着信号的来源。请在API32.TXT文件中寻找以PRINTER_CHANGE_???前缀开头的常数  
pvReserved Long,指定一个PRINTER_NOTIFY_OPTIONS结构的地址。如这个结构的Flags字段设为PRINTER_NOTIFY_OPTIONS_REFRESH,那么ppPrinterNotifyInfo缓冲区就会载入正在监视的所有事件的状态——并不仅是那些触发了通告信号的事件。结构中所有其他字段会被忽略。可设为NULL(零),表示只返回与状态改变有关信息  
ppPrinterNotifyInfo Long,由系统分配的一个缓冲区的地址。完成后,应该用FreePrinterNotifyInfo函数将这个缓冲区删除。缓冲区内包含了一个PRINTER_NOTIFY_INFO结构,其后跟随一系列PRINTER_NOTIFY_INFO_DATA结构(具体数量由第一个结构决定)  
适用平台  
Windows NT
  
其他  
在VB的API文本查看器中复制的声明如下:
Declare Function FindNextPrinterChangeNotification Lib "winspool.drv" Alias "FindNextPrinterChangeNotification" (ByVal hChange As Long, pdwChange As Long, ByVal pvReserved As String, ByVal ppPrinterNotifyInfo As Long) As Long  


FreePrinterNotifyInfo  

VB声明  
Declare Function FreePrinterNotifyInfo Lib "winspool.drv" (ByVal addr As Long) As Long  
说明  
释放由FindNextPrinterChangeNotification函数分配的一个缓冲区  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
addr Long,指定由FindNextPrinterChangeNotification函数分配的一个系统缓冲区的地址  
适用平台  
Windows NT
  

GetForm  

VB声明  
Declare Function GetForm Lib "winspool.drv" Alias "GetFormA" (ByVal hPrinter As Long, ByVal pFormName As String, ByVal Level As Long, pForm As Byte, ByVal cbBuf As Long, pcbNeeded As Long) As Long  
说明  
取得与指定表单有关的信息  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)  
pFormName String,想获取信息的一个表单的名字  
Level Long,设为1  
pForm Byte,包含FORM_INFO_1结构的缓冲区  
cbBuf Long,pForm缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
适用平台  
Windows NT
  

GetJob  

VB声明  
Declare Function GetJob Lib "winspool.drv" Alias "GetJobA" (ByVal hPrinter As Long, ByVal JobId As Long, ByVal Level As Long, pJob As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long  
说明  
获取与指定作业有关的信息  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)  
JobId Long,作业编号  
Level Long,1或2  
pJob Byte,包含JOB_INFO_1 或 JOB_INFO_2结构的缓冲区,结构中包含了与打印作业有关的信息  
cbBuf Long,pJob缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  



GetPrinter  

VB声明  
Declare Function GetPrinter Lib "winspool.drv" Alias "GetPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, pPrinter As Any, ByVal cbBuf As Long, pcbNeeded As Long) As Long  
说明  
取得与指定打印机有关的信息  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)  
Level Long,1,2,3(仅适用于NT),4(仅适用于NT),或者5(仅适用于Windows 95 和 NT 4.0)  
pPrinter Any,包含PRINTER_INFO_x结构的缓冲区。x代表级别  
cbBuf Long,pPrinterEnum缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  
注解  
只有在发出调用的应用程序有足够的权限时,PRINTER_INFO_x结构中的一些字段才能够被读取。这种权限由系统当前的安全设置决定
  

GetPrinterDriver  

VB声明  
Declare Function GetPrinterDriver Lib "winspool.drv" Alias "GetPrinterDriverA" (ByVal hPrinter As Long, ByVal pEnvironment As String, ByVal Level As Long, pDriverInfo As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long  
说明  
针对指定的打印机,获取与打印机驱动程序有关的信息  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
hPrinter Long,一个已打开的打印机的句柄(用OpenPrinter获得)  
pEnvironment String,欲获取的驱动程序环境(如:Windows NT x86)。如设为vbNullString,表示使用当前(本地)系统环境  
Level Long,1,2或3(仅适用于Windows 95 和 NT 4.0)  
pDriverInfo Byte,载入一个 DRIVER_INFO_x结构的缓冲区。其中的x代表级别(Level)设置  
cbBuf Long,pDriverInfo缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量  


GetPrinterDriverDirectory  

VB声明  
Declare Function GetPrinterDriverDirectory Lib "winspool.drv" Alias "GetPrinterDriverDirectoryA" (ByVal pName As String, ByVal pEnvironment As String, ByVal Level As Long, pDriverDirectory As Byte, ByVal cdBuf As Long, pcbNeeded As Long) As Long  
说明  
判断指定系统中包含了打印机驱动程序的目录是什么  
返回值  
Long,非零表示成功,零表示失败。会设置GetLastError  
参数表  
参数 类型及说明  
pName String,服务器的名字。如设为vbNullString,表示使用本地系统  
pEnvironment String,欲在其中获取目录的一个环境(如:Windows NT x86)。vbNullString表示使用当前(本地)系统环境  
Level Long,设为1  
pDriverDirectory Byte,指定一个缓冲区,其中会载入打印机驱动程序目录的完整路径名。可定义成ByVal As String,以便将字节数组分配给一个字串,从而避免执行ANSI到Unicode格式的转换  
cbBuf Long,pDriverDirectory缓冲区中的字符数量  
pcbNeeded Long,指向一个Long型变量的指针,该变量用于保存请求的缓冲区长度,或者实际读入的字节数量
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=9024
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论
发表于 2018-6-12 11:45:29 | 显示全部楼层
酷素材
好帖就是要顶
回复 支持 反对

使用道具 举报

发表于 2018-6-12 12:02:55 | 显示全部楼层
顶顶多好
回复 支持 反对

使用道具 举报

发表于 2018-6-12 11:47:42 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

发表于 2018-6-12 11:57:07 | 显示全部楼层
酷素材
LZ真是人才
回复 支持 反对

使用道具 举报

发表于 2018-6-12 11:38:50 | 显示全部楼层
酷素材
教程网我挺你
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345