CN1841307A - 能够定制设备驱动程序的信息处理装置、方法和控制程序 - Google Patents
能够定制设备驱动程序的信息处理装置、方法和控制程序 Download PDFInfo
- Publication number
- CN1841307A CN1841307A CNA2006100674885A CN200610067488A CN1841307A CN 1841307 A CN1841307 A CN 1841307A CN A2006100674885 A CNA2006100674885 A CN A2006100674885A CN 200610067488 A CN200610067488 A CN 200610067488A CN 1841307 A CN1841307 A CN 1841307A
- Authority
- CN
- China
- Prior art keywords
- driver
- attribute
- data
- device driver
- setting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
Abstract
一种能够定制设备驱动程序的信息处理装置、方法和控制程序,该信息处理装置包括处理单元和相关的操作系统。该信息处理装置还包括包含定制装置的应用程序,以便在不将设备驱动程序以可运行的方式注册到该操作系统时,定制该设备驱动程序。甚至当在特定操作系统上使用的打印机驱动程序不可定制时,也可以以用户指定的方式产生与该打印机驱动程序相对应的定制的驱动程序,从而允许以高效方式执行定制。
Description
技术领域
本发明涉及一种安装了设备驱动程序和相关程序的信息处理装置、控制这种信息处理装置的方法、以及存储控制程序的介质。
背景技术
在包括可定制的打印机驱动程序的已知系统中,当产生用于安装定制的打印机驱动程序的安装设置时,首先需要在OS(操作系统)中安装待定制的打印机驱动程序,然后开始产生用于在该OS中安装定制的打印机驱动程序的安装设置的过程。
因此,在信息处理装置(例如,客户PC)上包括多种OS的网络环境中,当网络管理员为每一客户PC产生定制的驱动程序时,需要在上述过程中以OS类型为单位逐一产生定制的驱动程序。当需要为大量不同类型的OS产生定制的驱动程序时,这不是一种高效的方法。因而产生定制的驱动程序的处理给产生操作者带来了很大的工作量。
在传统的定制技术中,尽管可以在用户界面(UI)中控制项,使得禁止该项,但是不能从用户界面隐藏任何项。这就使得对定制的打印机驱动程序的用户而言,难以判断是作为定制的结果还是作为与打印操作中某些专用设置冲突的结果禁止了特定项,从而用户难以执行定制操作。
发明内容
考虑到以上问题,本发明提供一种无需安装打印机驱动程序而对定制的驱动程序产生安装设置的技术,从而提高了工作效率。
甚至当在特定OS上使用的打印机驱动程序不可定制时,也可以以用户指定的方式,产生与该打印机驱动程序相对应的定制的驱动程序,从而允许以高效方式执行定制。
更具体地,本发明提供一种信息处理装置,该信息处理装置包括定制装置,用于在不将设备驱动程序以可运行的方式注册到操作系统的情况下,定制该设备驱动程序。该定制装置包括:获取装置,用于获取包括与打印有关的属性的一个或多个属性;以及设置装置,用于在设备驱动程序中,设置包括由该获取装置获取的与打印有关的属性的该一个或多个属性,而无需将该设备驱动程序以可运行的方式注册在该操作系统中。
本发明还提供一种信息处理装置,其能够通过设置设备驱动程序的属性,定制控制打印机的该设备驱动程序,该信息处理装置包括:判断装置,用于判断该设备驱动程序是否是可定制的;设置装置,如果该判断装置判断出该设备驱动程序是可定制的,则该设置装置通过在该显示装置上显示用于设置文档属性和设备属性的设置屏幕来设置该文档属性和该设备属性;获取装置,用于获取与该设备驱动程序的设置属性相对应的数据;以及显示控制装置,用于基于由该设置装置设置的该文档属性和该设备属性,在用户界面中显示由该获取装置获取的数据。
本发明还提供一种信息处理方法,其包括:定制步骤,用于在不将设备驱动程序以可运行的方式注册到操作系统的情况下,定制该设备驱动程序。该定制步骤包括:获取步骤,用于获取包括与打印有关的属性的一个或多个属性;以及设置步骤,用于在设备驱动程序中,设置包括由该获取步骤获取的与打印有关的属性的该一个或多个属性,而不是必须将该设备驱动程序以可运行的方式注册到该操作系统。
本发明还提供一种信息处理方法,其通过设置控制打印机的设备驱动程序的属性来定制该设备驱动程序,该方法包括以下步骤:判断步骤,用于判断该设备驱动程序是否是可定制的;设置步骤,如果在该判断步骤中判断出该设备驱动程序是可定制的,则通过在显示装置上显示用于设置文档属性和设备属性的设置屏幕来设置该文档属性和该设备属性;获取步骤,用于获取与该设备驱动程序的设置属性相对应的数据;以及显示步骤,用于基于在该设置步骤中设置的该文档属性和该设备属性,在用户界面中显示在该获取步骤中获取的数据。
本发明还提供一种存储控制程序的计算机可读的存储介质,当将该控制程序加载到计算机中并执行该控制程序时,该控制程序执行如权利要求15所述的方法。
本发明还提供一种用于定制打印机驱动程序的信息处理装置,其包括:启动装置,用于通过使用适于提供与操作系统的功能相当的功能的准应用程序界面(API),启动该打印机驱动程序的用户界面;获取装置,用于使用该准API,获取通过由该启动装置启动的该打印机驱动程序的该用户界面输入的命令或数据;以及设置装置,用于根据与由该获取装置获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
本发明还提供一种用于信息处理装置的信息处理方法,该信息处理装置用于定制打印机驱动程序,该信息处理方法包括以下步骤:启动步骤,用于通过使用适于虚拟提供操作系统的功能的准应用程序界面(API),启动该打印机驱动程序的用户界面;获取步骤,用于使用该准API,获取通过在该启动步骤中启动的该打印机驱动程序的该用户界面输入的命令或数据;以及设置步骤,用于根据与在该获取步骤中获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
本发明还提供一种存储控制程序的存储介质,该控制程序用来在用于定制打印机驱动程序的信息处理装置中,控制计算机执行包括以下处理的处理:启动步骤,用于通过使用适于虚拟提供操作系统的功能的准应用程序界面(API),启动该打印机驱动程序的用户界面;获取步骤,用于使用该准API,获取通过在该启动步骤中启动的该打印机驱动程序的该用户界面输入的命令或数据;以及设置步骤,用于根据与在该获取步骤中获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
通过以下结合附图的说明,本发明的其它特征和优点是显而易见的,其中,相同的附图标记在全部附图中表示相同或相似的部分。
附图说明
图1是示出根据本发明实施例的打印处理系统的框图;
图2是示出在启动应用程序和打印程序并将该程序和相关数据存储在主计算机的RAM中的状态下,该RAM的存储映射的图;
图3是示出定制工具的用户界面的例子的图;
图4是示出用于指定缺省初始设置的打印机驱动程序用户界面的例子的图;
图5是示出用于设置文档属性显示控制的用户界面的例子的图;
图6是示出定制工具的基本操作的流程图;
图7A到7C示出描述与打印机驱动程序有关的安装信息的“INF”文件的内容的例子;
图8是示出显示用于定制打印机驱动程序的用户界面的处理的流程图;
图9是示出打印机驱动程序的UPD文件的数据格式的图;
图10A是示出调用安装在打印机驱动程序中的应用程序界面(API)的处理的图;
图10B是示出API与相应的准API(pseudo-API)之间的关系的图;
图11是示出调用准Windows(注册商标)API的处理的流程图;
图12是示出调用CSPL_GetVersionEx()的处理的流程图,其中该CSPL_GetVersionEx()是准Windows(注册商标)API函数的特定例子;
图13是示出控制用于设置定制的打印机驱动程序的属性的用户界面的处理的流程图;
图14是示出与设备驱动程序有关的定制数据的例子的图。
具体实施方式
以下参考结合附图的实施例对本发明进行更详细的说明。注意,在下面的实施例中,作为例子,假定定制作为PC(个人计算机)OS(操作系统)的Microsoft Windows(注册商标)的打印机驱动程序。
第一实施例
图1是示出根据本发明第一实施例的打印处理系统的框图。该打印处理系统包括信息处理装置(以下也被称为主计算机)3000和打印机1500,其中该打印机1500用于接收来自主计算机3000的打印数据,并根据所接收到的打印数据执行打印。
在主计算机3000中,CPU 1根据存储在RAM 2中的程序集中控制连接到系统总线4的各种设备。RAM 2还用作CPU 1使用的主存储器或工作区。ROM 3存储各种程序和数据,并且ROM 3包括用于存储各程序或数据的存储区。更具体地,ROM 3包括:字体ROM 3a,用于存储各种字体数据;程序ROM 3b,用于存储引导程序或BIOS;以及数据ROM 3c,用于存储各种数据。
键盘控制器(KBC)5控制通过键盘(KB)9或指示设备(鼠标)(未示出)输入命令或数据。CRT控制器(CRTC)6控制CRT显示器(CRT)10的显示操作。磁盘控制器(DKC)7控制对硬盘等外部存储器11的访问。打印机控制器(PRTC)8通过双向接口21连接到打印机1500,并控制主计算机3000与打印机1500之间的通信。
至于外部存储器11,可以使用硬盘(HD)、磁光盘(MO)或软盘(floppy,注册商标)(FD)。如图1所示,外部存储器11存储操作系统程序(以下称之为OS)205、各种应用程序(例如用于处理包括图形数据、图像数据、文本数据、表格数据等的混合文档的文档处理应用程序)201、以及与打印相关的程序(以下称之为打印程序)204。外部存储器11还被用以存储用户文件、编辑文件等。打印程序204是用于生成使用页面描述语言描述的打印数据的程序,并可被通用于多个相似类型的打印机。打印程序204包括打印机控制命令生成模块(以下称之为打印机驱动程序)2041和打印机驱动程序用户界面控制模块2042。
将包括根据本实施例的定制工具程序(以下被简称为定制工具)的应用程序201从外部存储器11加载到RAM 2中,并由CPU 1来执行。CPU 1还将打印数据转换(光栅化)成轮廓字体数据,并将结果数据存储在RAM 2中,使得以WYSIWYG(What You SeeIs What You Get,所见即所得)方式将结果数据显示在CRT 10上。如果通过用鼠标光标(未示出)点击CRT 10上的特定点发出命令,则CPU 1打开相应的窗口,并根据该命令执行数据处理。例如,当执行打印操作时,用户打开打印设置屏幕(由打印机驱动程序用户界面控制模块2042控制),并根据包括用于打印操作的打印模式的打印条件来设置打印机驱动程序2041。
现在,说明打印机1500的结构。CPU 12通常控制打印机1500的操作。RAM 19不仅用作CPU 12使用的主存储器和工作区,而且还用作以输出形式存储信息的区域和存储环境数据的区域。RAM 19还包括NVRAM(非易失性RAM)区,并被设计成可通过将可选RAM连接到扩展端口(未示出)来扩展存储容量。ROM 13包括:字体ROM 13a,用于存储各种字体数据;程序ROM 13b,用于存储由CPU 12执行的控制程序;以及数据ROM 13c,用于存储各种数据。输入单元18将数据发送给主计算机3000并从主计算机3000接收数据。打印单元接口(I/F)16用作与打印单元17的接口。
通过存储器控制器(MC)20控制对外部存储器14的访问。至于外部存储器14,可以使用例如硬盘(HD)、MO、软盘(floppy,注册商标)(FD)或IC卡。外部存储器14用以存储字体数据、仿真程序、表单数据等。在没有连接硬盘等外部存储器14的情况下,主计算机3000使用的信息被存储在ROM 13的数据ROM 13c中。对于外部存储器14的数量没有特别的限制。例如,还可以连接用于提供除内置字体数据外的可选字体数据的可选字体卡,或者连接存储用于解释添加的打印机控制语言的程序的外部存储器。
操作单元1501具有操作面板,用户通过该操作面板输入命令或数据。该操作面板包括开关和LED指示器(未示出),其中通过该开关输入命令。该操作面板还可以包括NVRAM(非易失性RAM)(未示出),用于存储通过该操作面板输入的打印机模式设置信息。
根据存储在ROM 13的程序ROM 13b中的控制程序,CPU 12通过打印单元接口16,将图像信号作为输出信息输出给打印单元(打印机引擎)17。CPU 12能够通过输入单元18与主计算机3000进行通信。更具体地,CPU 12能够接收从主计算机3000传输的打印数据,并将表示打印机1500的状况的信息传输给主计算机3000。
图2是示出在启动应用程序和打印程序并将该程序和相关数据存储在主计算机3000的RAM 2中的状态下,该RAM 2的存储映射的图。
如图2所示,在RAM 2中,加载BIOS 206、OS 205、应用程序201、打印程序204以及相关数据203,使得应用程序201和打印程序204是可执行的。RAM 2还具有空闲存储区202。响应于由用户发出的打印设置命令,包括在打印程序204中的打印机驱动程序用户界面控制模块2042(图1)将打印设置屏幕显示在CRT 10上,以允许用户使用键盘9等执行设置。
图3是示出定制工具的用户界面的例子的图。该定制工具运行在Windows(注册商标)2000/XP/Server 2003上,并且能够定制被设计运行在Windows(注册商标)98/ME、Windows(注册商标)NT 4.0、或Windows(注册商标)2000/XP/Server 2003上的打印机驱动程序。注意,本发明不局限于这些操作系统。本发明还可以应用于其它操作系统。在没有安装打印机驱动程序的情况下,通过由准API(后面详细说明)执行的模拟操作来实际完成特定OS的API的操作。准API根据各个准API函数的变量而进行不同操作。
在图3所示的定制工具用户界面中,如果用户选择菜单301中的“打开”,则显示对话框(未示出),以允许用户指定用以存储定制的驱动程序设置的文件夹。所指定的文件夹被显示在显示栏302中,而在其上运行所指定的驱动程序设置的OS被显示在显示栏303中。
在列表视图305中,显示待定制的打印机驱动程序的型号名称和表示各项是否被定制的标记“ON(打开)”。例如,如果选中复选框310,则按钮311被激活。在这种状态下,如果点击按钮311,则显示用于定制打印机驱动程序的用户界面(图4),以允许用户根据打印设置(文档属性)、设备设置(打印机属性)等的缺省值进行设置。
如果选中复选框320,则按钮321被激活。在这种状态下,如果按下按钮321,则显示用户界面(图5),以允许用户定义怎样来控制打印机驱动程序用户界面中的项的显示。
如果按下按钮330,则显示用于指定生成定制的驱动程序的文件夹的对话框(未示出),以允许用户指定用以生成定制的驱动程序的文件夹。
在完成设置后,如果按下按钮340,则根据该设置产生定制的打印机驱动程序。
图4示出用于定制打印机驱动程序的缺省值的用户界面的例子。当点击图3所示的用户界面中的按钮311时,出现该用户界面。
在CPU 1的控制下,定制工具用作信息处理装置的设置单元。更具体地,例如,该设置单元在CRT上显示用于设置文档属性和设备属性的设置屏幕,例如图4所示的用户界面屏幕。
在用于设置安装在Windows(注册商标)NT4.0或Windows(注册商标)2000/XP/Server 2003上的打印机驱动程序的传统用户界面中,用于设置文档属性的框和用于设置设备属性的框被显示在不同的用户界面屏幕上,而不能将它们显示在同一用户界面屏幕上。相比之下,在根据本实施例的打印机驱动程序定制用户界面中,定制工具使用打印机驱动程序模块显示用户界面,使得可以将用于设置文档属性的用户界面和用于设置设备属性的用户界面显示在同一用户界面屏幕上(如图4所示)。在图4所示的用户界面屏幕中,允许用户从以下四个用户界面页中选择文档属性用户界面:“页面设置”页401、“自动整理(Finish)”设置页402、“给纸”设置页403、以及“打印质量”设置页404。图4所示的用户界面屏幕还包括用于设置打印机属性的“设备设置”页405。可以通过这些用户界面页(401到405)来设置文档属性和打印机属性的初始值。
在图4所示的用户界面中,将不允许被定制的项例如附图标记410表示的项显示为灰色,并且禁止选择这些项。
图5是示出用于设置文档属性显示控制的用户界面的例子的图。当按下图3所示的按钮321时,该用户界面被显示在主计算机3000的CRT 10上。在图5所示的例子中,该用户界面允许用户根据页面设置页501、自动整理设置页502、给纸设置页503、打印质量设置页504和公用设置页505中的各项的显示进行设置。更具体地,在页面设置页501、自动整理设置页502、给纸设置页503和打印质量设置页504中,允许定义怎样来控制图4所示的文档属性用户界面中的项的显示。在公用设置页505中,允许根据显示控制进行公用设置。
下拉式菜单506用于设置控制项“Job Operations”的显示,以便可以为激活(处于正常模式)、禁止或无效指示。无效指示的例子是控制项的变灰显示。然后用户就不能操作该控制项。也可以以类似的方式设置其它控制项,以便在用于定义文档属性的用户界面中为激活、禁止或隐藏。当完成设置步骤时,定制工具将表示所做出的设置的信息写入GPD文件中。GPD文件具有与UPD文件基本相同的结构。在该实施例中,不仅可以通过修改UPD文件,而且还可以通过修改GPD文件,来定制打印机驱动程序。
在CPU 1的控制下,定制工具用作信息处理装置的显示控制器。根据文档属性的设置(包括控制项),该显示控制器根据各项的启动、禁止和隐藏来控制用户界面(UI)。
现在,参考图6所示的流程图说明定制工具的基本操作。注意,主要通过运行在主计算机3000的CPU 1上的定制工具来执行下述基本操作。
首先,在步骤S601,如果用户启动定制工具,则初始化定制工具。在步骤S602,定制工具在CRT 10上显示例如图3所示的用户界面屏幕。在步骤S603,如果用户通过图3所示的用户界面屏幕指定了待定制的打印机驱动程序的安装设置,则在步骤S604,检查所指定的安装设置。更具体地,在检查所指定的安装设置中,定制工具检查描述与打印机驱动程序有关的安装信息的文件(图7A到7C中的700、710或720)(以下将这类文件称为INF文件)的内容,以判断OS是否能够处理所指定的安装设置以及该定制工具是否可定制所指定的打印机驱动程序。
图7A到7C示出描述打印机驱动程序安装信息的INF文件的内容的例子。注意,假定每一INF文件都包括模块信息(未示出),并且定制工具基于该模块信息,识别对打印机驱动程序执行用户界面处理的模块。在图7A中,附图标记700表示Windows(注册商标)98/ME使用的INF文件的一部分。在图7B中,附图标记710表示Windows(注册商标)NT4.0使用的INF文件的一部分。在图7C中,附图标记720表示Windows(注册商标)2000/XP/Server2003使用的INF文件的一部分。运行在CPU 1上的定制工具检查INF文件700中的“Signature”730的设置,如果“Signature”被设置为字符串源码“$CHICAGO$”,则定制工具判断出可以通过Windows(注册商标)98/ME处理该打印机驱动程序。
另一方面,当INF文件(710或720)中的“Signature”(740或750)被设置为字符串源码“$Windows NT$”时,定制工具判断出该打印机驱动程序适用于Windows(注册商标)NT4.0或Windows(注册商标)2000/XP/Server 2003。定制工具进一步检查INF文件(710或720)中的字符串源码“DISK1”(760或770)是否包括“NT”。如果包括,则定制工具判断出该打印机驱动程序适用于Windows(注册商标)NT4.0,而如果INF文件(710或720)中的字符串源码“DISK1”(760或770)不包括“NT”,则定制工具判断出该打印机驱动程序适用于Windows(注册商标)2000/XP/Server 2003。
当该打印机驱动程序是可定制的时,与该打印机驱动程序相关的INF文件包括表示该打印机驱动程序是可定制的的字符串源码。因而,定制工具通过检查打印机驱动程序的INF文件是否包括表示该打印机驱动程序是可定制的的字符串源码,就可判断该打印机驱动程序是否是可定制的。
再参考图6,如果定制工具在步骤S605中的判断为打印机驱动程序不是可定制的(即,如果对步骤S605的回答为否),则处理进入步骤S610,以执行出错处理。在出错处理后,处理返回到步骤S603以再次指定安装设置。
另一方面,如果定制工具在步骤S605中的判断为打印机驱动程序是可定制的(即,如果对步骤S605的回答为是),则处理进入步骤S606,在步骤S606,定制工具控制CRTC 6以在CRT 10上显示如上参考图3到5所述的用户界面屏幕,以允许用户定制打印机驱动程序。如果通过如图3到5所示的用户界面屏幕进行设置,则产生表示做出的设置的定制数据。即,定制工具将该数据保持部分所保持的数据写入后面将说明的UPD文件(或GPD文件)。当被调用时,打印机驱动程序判断是否存在定制的UPD文件。在打印机驱动程序判断出存在定制的UPD文件的情况下,打印机驱动程序读取包含在该UPD文件中的定制的打印设置数据和UI控制数据。因而,实现打印机驱动程序的定制设置。即,根据定制的设置信息,部分用作显示控制部分的定制工具调用打印机驱动程序的UI模块。所调用的UI模块通过使用后面将说明的准API,使得CRT显示器10显示定制的UI窗口,其中该UI窗口传送通过图3到5所示的UI窗口设置的定制信息、指定用于控制控制项的显示的数据、以及表示打印设置信息的缺省值。
定制数据包括各种数据,例如,表示是否应该显示设备驱动程序的用户界面的控制的控制数据、例如图14所示的设备驱动程序的设置数据等。
图14示出设置数据(DEVMODE)的数据结构的例子。
在图14所示的设置数据的特定例子中,指定纸张方向(dmOrientation)、纸张大小(dmPaperSize)、纸张宽度(dmPaperWidth)、复制份数(dmCopies)等。DEVMODE数据结构被存储在注册表(registry)中。打印机驱动程序2041读取缺省打印设置或通过存储在注册表中的DEVMODE数据结构设置的收藏(favorite)设置,并根据该设置显示用户界面。
所设置的收藏设置是打印机驱动程序2041的一组打印设置。允许用户通过经由打印机驱动程序2041的用户界面指定打印条件的收藏设置,实现所期望的操作环境。例如,如果用户经常使用盖章(stamping)和装订(stapling),则该用户可以将盖章和装订的设置登记为打印条件的收藏设置。在这种情况下,如果选择打印条件的收藏设置,则在打印操作中反映这些条件。该数据被作为属性信息一部分的定制数据进行描述。由定制工具保持该定制数据,并将其写入将在后面将详细说明的GPD文件中。
在通过例如图3到5所示的用户界面屏幕进行打印机驱动程序的定制设置后,如果发出定制的驱动程序产生命令(步骤S607),则定制工具产生根据表示通过用户界面屏幕指定的定制的定制数据定制的驱动程序。注意,在打印机驱动程序可访问的GPD文件中描述定制数据。当以可运行的方式安装打印机驱动程序时,打印机驱动程序读取在GPD文件中描述的设置数据,并在该打印机驱动程序中反映在GPD文件中所指定的定制的打印条件。例如,如果设置数据指示以双面模式和2-in-1布局执行打印,则根据该设置数据如此设置打印机驱动程序。因而,可以仅通过安装定制的驱动程序,根据按照用户的希望所定制的打印条件容易地将打印机驱动程序复位为缺省值。
在CPU 1的控制下,定制工具用作信息处理装置的发生器。更具体地,该发生器将所指定的文档属性或设备属性写入打印机驱动程序(设备驱动程序)的信息文件中,并生成根据原始设备驱动程序定制的设备驱动程序。
即,定制工具通过首先将所指定的安装设置复制到将生成定制的驱动程序的文件夹中、然后将定制数据写入包括在所复制的安装设置中的驱动程序信息文件(被称为UPD文件)中,生成定制的驱动程序。
图9示出作为打印机驱动程序的其中一个文件的驱动程序信息文件(UPD文件)的数据格式。如图9所示,UPD文件包括头901、ID定义区902和数据区903。在ID定义区902中,描述存储在数据区903中的数据的ID与该数据的地址的组。注意,在ID定义区902中描述与ID一样多的组。在本实施例中,定制工具修改与所定义的用于定制的ID相对应的数据值。在ID定义区902不包括对待使用的定制数据所定义的ID的情况下,将与该定制数据相对应的新的ID添加到ID定义区902。
注意,对每一设备驱动程序(打印机驱动程序)(每一设备类型)有一个UPD文件。因此,可以对每一设备类型执行定制。还可以通过修改现有的对另一设备设置的定制驱动程序,对某一设备定制设备驱动程序。因为在ID定义区902中描述的ID是定制的版本所特有的,所以可以将旧版本的打印机驱动程序的设置容易地导入新版本中。
通过当安装打印机驱动程序时、或者当第一次启动打印机驱动程序时读取描述定制数据的UPD文件,然后从数据区903读取与在UPD文件的ID定义区902中所描述的指定ID相对应的数据,由定制工具安装定制的打印机驱动程序。在此,作为例子,我们假定在由定制工具产生的UPD文件的ID定义区902中,“CUSTOMIZED(已定制)”被描述为ID,X被描述为表示与该ID“CUSTOMIZED”相对应的数据位置的地址。
当安装或第一次启动可定制的打印机驱动程序时,如果在ID定义区902中检测到作为ID信息的“CUSTOMIZED”,则打印机驱动程序读取与该ID信息相对应的地址处的数据。更具体地,在该特定例子中,当安装或第一次启动打印机驱动程序时,如果在ID定义区902中检测到作为ID信息的“CUSTOMIZED”,则打印机驱动程序读取与“CUSTOMIZED”相对应的地址X处的数据。打印机驱动程序进一步从地址X处的数据区903中读取作为驱动程序设置数据的主要部分的设备模式数据结构。注意,可以用绝对值或相对于数据区903的第一地址的偏移地址来描述该地址X。在后者的情况下,在头901中描述数据区903的第一地址的绝对值。
在CPU 1的控制下,定制工具还用作信息处理装置的显示控制器。当启动打印机驱动程序时,用作显示控制器的定制工具读取打印机驱动程序的驱动程序信息文件,并根据在该驱动程序信息文件中所描述的数据,在CRT 10上显示用户界面。
在本实施例中,定制工具将以下数据作为定制数据写入UPD文件中:定义文档的缺省设置的文档属性的初始数据(通过图4所示的设置框401到404设置的)、定义设备的设置的打印机属性的初始数据(通过图4所示的设置框405设置的)、以及表示用以控制显示与用户界面中的文档属性相关的项的模式的数据(通过图5所示的用户界面设置的)。当安装或第一次启动定制的打印机驱动程序时,打印机驱动程序读取由定制工具产生的UPD文件,并根据在UPD文件中所描述的定制信息进行工作。这就使得可以容易地实现定制的打印机驱动程序。
可以在信息处理装置中安装适于控制打印机、并且可通过设置其属性(与定义文档的设置的文档属性有关的初始值数据和与定义设备的设置的打印机属性有关的初始值数据)定制的设备驱动程序(打印驱动程序),其中该信息处理装置可以包括:判断单元,用来判断设备驱动程序是否是可定制的;设置单元,如果该判断单元的判断为设备驱动程序是可定制的,则该设置单元用来在CRT 10上显示用于设置文档属性和设备属性的设置屏幕(图3到5);获取单元,用来获取与设备驱动程序属性相对应的数据;以及显示控制单元,用来基于由该设置单元所设置的设备驱动程序的属性,在用户界面中显示由该获取单元所获取的数据。
可选地,该信息处理装置可以包括:获取单元,用来获取包括与打印有关的属性的一个或多个属性;以及设置单元,用来在设备驱动程序中设置包括与由该获取单元所获取的打印有关的属性的该一个或多个属性,而无需以可运行的方式将该设备驱动程序注册在操作系统中,使得该设备驱动程序是可访问的。在该信息处理装置中,在CPU 1的控制下,通过执行定制工具来执行上述部分的处理。
再参考图6,在产生定制的驱动程序后(步骤S608),如果用户发出结束命令(步骤S609),则结束定制工具的操作(步骤S611)。
接着,参考图8所示的流程图,下面说明在CPU 1的控制下,为了显示用于定制打印机驱动程序的用户界面,由定制工具执行的处理。注意,主要通过运行在主计算机3000的CPU 1上的定制工具来执行该处理。
如果按下图3所示的按钮311,则定制工具基于包括在INF文件中的模块信息,识别负责打印机驱动程序的用户界面处理的模块。定制工具然后将识别到的模块加载到存储器中,使得可以由该定制工具调用该模块(步骤S801)。
之后,在步骤S802,获取由打印机驱动程序的该模块输出的函数的地址(步骤S802),并初始化CSPL结构(未示出)(步骤S803),其中该CSPL结构是用于在定制工具和可定制的打印机驱动程序之间传输信息的结构。该CSPL结构包括各种信息,以便甚至在没有安装打印机驱动程序的状态下,也允许执行与打印机驱动程序有关的用户界面处理。
之后,在步骤S804,显示属性页(用于定义驱动程序的定制的用户界面)。在该步骤中,调用属性页显示函数,以在用户界面屏幕中显示文档属性页或打印机属性页中的一个。注意,可以在如图4所示的同一页(sheet)上显示任何必要的属性页。
如果用户关闭用于定制驱动程序的用户界面,则在CSPL结构中描述表示通过用于定制驱动程序的用户界面所进行的设置的信息,并且定制工具从CSPL结构(包括DeviceOption结构和Devmode结构)中获得与相应的打印机驱动程序有关的信息(步骤S805)。
在CPU 1的控制下,定制工具还用作获取单元,以获取文档属性或与设备属性相对应的打印机驱动程序属性(可允许在设备驱动程序中设置的属性)。更具体地,该获取单元通过发送或接收来自数据存储单元的数据,获取与打印机驱动程序有关的信息,在该数据存储单元中,以CSPL结构的形式描述与打印机驱动程序的设置有关的数据并存储该数据。即,该获取单元将与通过用户界面屏幕(图3到5)所设置的文档属性和/或设备属性相对应的数据(CSPL结构)存储在该数据存储单元中,并且该获取单元从该数据存储单元中获取与打印机驱动程序有关的信息(CSPL结构),作为与该属性相对应的定制设置信息。基于该定制设置信息,作为显示控制器的定制工具在CRT 10上显示根据文档属性和设备属性定制的用户界面。
存储该定制设置信息,使得以DeviceOption结构(未示出)存储与打印机属性有关的设置信息,以Devmode结构(未示出)存储与文档属性有关的设置信息,并且定制工具从DeviceOption结构和Devmode结构中获取定制设置信息。
之后,在步骤S806,卸载在步骤S801加载到存储器中的模块,并且结束用于定制驱动程序的用户界面的显示(在S807)。
根据运行打印机驱动程序的OS的类型,以稍微不同的方式执行上述处理。例如,Windows(注册商标)NT4.0和Windows(注册商标)2000/XP/Server 2003使用公用属性页(CommonProperty Sheet)UI来显示驱动程序用户界面,因而,在这些OS中,将调用公用属性页UI函数作为预处理来执行。另一方面,在Windows(注册商标)98/ME的情况下,在预处理步骤中调用属性页函数。在任何情况下,参考图8所示的流程图,以如上所述的方式执行基本处理。
图10A示出调用安装在打印机驱动程序中的Windows(注册商标)应用程序界面(API)的处理。在已安装了打印机驱动程序的情况下,在该打印机驱动程序的用户界面处理1010中,以正常方式调用(1040)Windows(注册商标)API(图10A中被简单表示为“API”)。然而,当在还没有安装可定制的打印机驱动程序的状态下调用Windows(注册商标)API时,与所调用的Windows(注册商标)API相对应的准Windows(注册商标)API 1060(图10A中被简单表示为“准API”)响应于该调用,并模拟将由所调用的Windows(注册商标)API执行的处理。结果被返回到打印机驱动程序用户界面处理1010。
在图10B中,表格1030示出Windows(注册商标)API(图10B中被简单表示为“API”)与准Windows(注册商标)API(图10B中被简单表示为“准API”)之间的对应。可以在安装的打印机驱动程序中预先描述该对应。通常,控制用于打印机驱动程序的用户界面的程序根据输入给打印机驱动程序的数据来调用Windows(注册商标)API。本实施例用于使得尽管在没有安装打印机驱动程序的状态下不能调用Windows(注册商标)API,但是可以调用准API。
当从定制工具调用准Windows(注册商标)API时,该准Windows(注册商标)API模拟将由相应的Windows(注册商标)API执行的处理,并将结果返回给打印机驱动程序用户界面处理1010。另一方面,当在已经在OS中安装了打印机驱动程序的正常状态下调用API时,Windows(注册商标)API 1020响应于该调用,并将结果返回给打印机驱动程序用户界面处理1010。
图11是示出调用准Windows(注册商标)API(图11中被简单表示为“准API”)的处理的流程图。注意,主要通过运行在主计算机3000的CPU 1上的定制工具来执行该处理。首先,在步骤S1110,定制工具判断包括在Windows(注册商标)API的变量中的打印机句柄(变量)是否与响应于来自定制工具的调用而传输的CSPL结构的地址信息(以下将这种地址信息简称为“地址信息”)相同。CSPL结构的第一成员表示CSPL结构的大小。因此,如果给定的打印机句柄(handle)(变量)等于CSPL结构的大小,则作为变量给定的打印机句柄可以被当作CSPL结构的地址(即,步骤S1110的回答为是)。打印机驱动程序的UI模块将表示处理结果的数据,例如表示通过该UI输入的打印设置项的值和指定控制的显示的数据,存储在由该句柄所指定的结构中。然后,结束该处理。
如果作为变量给定的打印机句柄不同于CSPL结构的地址(即,如果S1110的回答为否),则判断出在打印机驱动程序的正常运行和相应的Windows(注册商标)API(图11中被简单表示为“API”)中进行该调用(步骤S1120)。在步骤S1120后,结束该处理。
在步骤S1110的判断为作为变量给定的打印机句柄与CSPL结构的地址相同的情况下(即,如果S1110的回答为是),处理进入步骤S1130,在步骤S1130,定制工具在没有安装打印机驱动程序的状态下调用Windows(注册商标)API。实际上,在没有安装打印机驱动程序的状态下,不能调用Windows(注册商标)API,因而准Windows API以与由Windows API执行的相同方式来执行处理(步骤S1130),并将结果返回给打印机驱动程序用户界面处理1010。在步骤S1130之后,结束该处理。
在上述处理中,在CPU 1的控制下,定制工具用作信息处理装置的选择单元。更具体地,该选择单元基于存储在该数据存储单元(CSPL结构)中的地址信息(第一地址),选择将使用(调用)的应用程序界面(Windows API或准Windows API)。
图12是示出准Windows(注册商标)API的处理的特定例子的流程图。在该特定例子中,从打印机驱动程序调用函数CSPL_GetVersionEx(),作为准Windows(注册商标)API。注意,主要通过运行在主计算机3000的CPU 1上的定制工具来执行该处理。在该特定例子中,函数CSPL_GetVersionEx()模拟Windows(注册商标)函数GetVersionEx()(参见图10B中的表格1030),其中该GetVersionEx()是将表示运行在主计算机上的OS的版本的信息返回给打印机驱动程序用户界面的处理1010的函数。同样,通过定制工具函数调用CSPL_GetVersionEx函数。
首先,在步骤S1210,定制工具中的CSPL_GetVersionEx函数判断作为函数变量给定的打印机句柄是否与当调用该函数时被传输的CSPL结构的地址相同。如果该打印机句柄与CSPL结构的地址不同(即,如果S1210的回答为否),则处理进入步骤S1220,在步骤S1220,定制工具以正常方式调用打印机驱动程序的Windows(注册商标)API函数GetVersionEx()1040(步骤S1220)。该判断方法与在图11所示的步骤S1110的说明中所述的方法类似。在步骤S1220之后,结束该处理。
另一方面,如果在步骤S1210中的判断为打印机句柄与CSPL结构的地址相同(即,如果S1210的回答为是),则处理进入步骤S1230,在步骤S1230,基于存储在CSPL结构中的、与对应于打印机驱动程序的OS有关的信息,实际执行函数GetVersionEx()的处理(以与由函数GetVersionEx()执行的相同方式执行该处理)(步骤S1230)。
当调用与通过用户界面屏幕(图3到5)设置的文档属性或设备属性相对应的应用程序界面(准Windows(注册商标)API)时,实际执行与该文档属性或该设备属性相对应的打印机驱动程序的处理(以与由相应的Windows(注册商标)API执行的相同方式执行该处理)。
如果完成了步骤S1230或S1220中的处理,则结束图12所示的流程图的处理。
在步骤S1230,CSPL_GetVersionEx函数将与由GetVersionEx函数获得的处理结果相同的处理结果,返回给打印机驱动程序UI模块。其它函数也是如此。例如,当定制工具运行在Windows(注册商标)2000/XP/Server 2003上时,如果从定制工具调用执行Windows(注册商标)98/ME等不同OS的驱动程序模块的用户界面处理的函数,则检查具有表示OS版本的信息的CSPL结构,并返回表示OS为“Windows(注册商标)98/ME”的OS版本信息,由此,可以控制Windows(注册商标)98/ME的驱动程序模块的用户界面的处理,而不会有任何问题。
即,待定制的目标是Windows(注册商标)98/ME的打印机驱动程序以及由例如INF文件和驱动程序用户界面模块提供的驱动程序信息。在本实施例中,通过Windows(注册商标)2000/XP/Server 2003支持定制工具。假定通过这些OS中的一个来控制执行定制工具的环境。在图8所示的步骤S803初始化CSPL结构。这时,将表示例如支持驱动程序模块的OS为Windows(注册商标)98/ME的信息,作为表示OS的版本的OS版本信息写到CSPL结构。因此,CSPL结构包含表示支持驱动程序模块的OS为Windows(注册商标)98/ME的信息(即,OS版本信息)。因而,CSPL_GetVersionEx函数访问包含在CSPL结构中的OS版本信息,并将表示“Windows(注册商标)ME”的值返回到调用打印机驱动程序UI模块。当调用任何其它准Windows(注册商标)函数时,以类似的方式处理该调用。因而,当在没有安装打印机驱动程序的状态下调用Windows(注册商标)API函数时,执行相应的准Windows(注册商标)API函数,以模拟所调用的Windows(注册商标)API函数,由此,在用户界面操作中实际反映Windows(注册商标)的操作,而不产生否则会发生的问题。
尽管以上没有明确说明,但是Windows(注册商标)98/ME的打印机驱动程序是被设计成在16位环境下运行的模块。因此,其用户界面处理也在16位环境下执行。然而,在本实施例中,使用被称为sink-up转换的16位到32位转换机制,在32位环境下,执行Windows(注册商标)98/ME的打印机驱动程序的用户界面处理。即,在本实施例中,定制工具在32位环境下调用用户界面函数,以显示和控制Windows(注册商标)98/ME的用户界面。
更具体地,定制工具获取包括打印机属性的属性,并在设备驱动程序中设置该属性,使得可以读取得到的设备驱动程序。注意,没有将设备驱动程序注册在操作系统中而进行该属性的设置,使得设备驱动程序是可以运行的。即,当进行该属性设置时,将设备驱动程序存储在由操作系统管理的文件系统的用户区中。注意,通过由操作系统的管理员将设备驱动程序注册在由操作系统管理的注册表区中安装该设备驱动程序,来完成使得该设备驱动程序可以运行的该设备驱动程序的注册,以便操作系统可以识别该设备驱动程序。通过定制工具将属性存储在UPD文件中。所创建的UPD文件与打印机驱动程序、打印机驱动程序UI模块、以及待定制的INF文件一起,构成了安装设置。通过记录介质和通信介质,将所创建的安装设置分发给每一客户计算机。安装程序根据INF文件中所描述的信息执行安装。该安装程序复制与从UPD文件中读取的每一设置项相对应的值,作为每一devmode结构和deviceOption结构的相应项的值。打印机驱动程序和打印机驱动程序UI模块通过参考存储在devmode结构和deviceOption结构中的每一项的值来运行。
通过作为其中一个应用程序的定制工具来执行上述处理。当定制工具通过设备驱动程序接收信息时,定制工具作为操作系统的替代,对设备驱动程序作出响应。
设备驱动程序将来自定制工具的替代响应当作是从操作系统接收到的,并且设备驱动程序根据用户输入的命令或数据继续下面的设置处理。
注意,通过打印机驱动程序的准API来实现定制工具。定制工具能够为不同类型的操作系统(例如,Windows(注册商标)NT、Windows(注册商标)95等)使用的多个设备驱动程序设置包括打印属性的属性。
定制工具可以一次对多个设备驱动程序设置与由该定制工具获取的打印有关的信息。
如上所述,根据本实施例的准API允许定制工具作为操作系统的替代,对设备驱动程序作出响应,使得设备驱动程序接收到与在操作系统中实际可运行地安装了设备驱动程序的状态下由操作系统给出的响应相当的响应。如果定制工具没有以上述方式对设备驱动程序作出响应,则设备驱动程序将执行出错处理的处理。因而,如上所述,根据本实施例的定制工具具有在无需安装设备驱动程序的情况下执行定制处理的能力。
图13是示出控制用于设置定制的打印机驱动程序的属性的用户界面的处理的流程图。注意,主要通过运行在主计算机3000的CPU 1上的定制工具来执行该处理。在图13所示的过程中,调用图11和12所示的准API函数。因而,实现属性页的显示、参数的获取和设置值的输入。
首先,在步骤S1300,如果发出用户界面控制命令,则启动定制工具。在步骤S1310,初始化用户界面。在步骤S1320,如果判断出在图9所示的驱动程序信息文件中描述了与用户界面的显示有关的定制信息(即,如果S1320的回答为是),则处理进入步骤S1330,在步骤S1330,在用户界面的显示中反映定制信息(例如,根据定制信息激活、禁止或隐藏项)。然后处理进入等待状态,以等待由用户执行的操作(步骤S1340)。另一方面,如果没有定制信息(即,如果S1320的回答为否),则跳过步骤S1330,处理进入等待状态(步骤S1340)。
如果用户执行了操作(步骤S1340),则执行关于是否已发出用户界面关闭命令的判断(步骤S1350)。如果对步骤S1305的回答为是,则结束该用户界面处理(步骤S1370)。如果对步骤S1305的回答为否,则根据用户给定的命令/数据控制用户界面(步骤S1360)。在步骤S1360之后,处理返回到步骤S1320。通过CSPL结构将通过UI输入的属性信息再次存储在打印机驱动程序信息文件(即,UPD文件)中。这时,将图3所示的定制码(Z)与预识别码(preliminarily identification code)一起存储在打印机驱动程序信息文件中。
例如,当在如图9所示的驱动程序信息文件中描述了表示用以控制用户界面的显示(通过图5所示的屏幕所指定的)的方式的定制数据,则根据该定制数据来控制用户界面的显示。
尽管在本实施例中,将定制信息写入被称为UPD文件的驱动程序信息文件中,但是,不是必须将定制信息写入UPD文件中。可以将定制信息写入其它类型的文件中,只要该文件是打印机驱动程序可读和可解释的即可。在被称为Longhorn的下一版本的Windows(注册商标)系统中,将GPD文件用作为打印机驱动程序的驱动程序信息文件。允许在GPD文件中描述定制信息。
根据本实施例,在没有安装设备(打印机)驱动程序的状态下,可以如用户所期望产生定制的驱动程序的安装设置。不需要安装被设计成在特定OS上运行的设备(打印机)驱动程序,使得可以以高效率的方式定制设备(打印机)驱动程序。
因而,甚至当OS不允许对原始打印机驱动程序进行定制时,也可以产生如用户所期望的定制的驱动程序。
通过与专用于打印机驱动程序的原始用户界面类似的用户界面,执行打印机驱动程序的缺省值的定制。这使得能够容易地进行缺省值的定制。根据以上述方式经用户界面进行的设置,通过激活或禁止项的显示或者通过隐藏项,可以给用户提供更好的可操作性和更大的方便。
因为定制的驱动程序的安装设置在结构上与原始的未定制的驱动程序类似,所以可以在Microsoft Windows(注册商标)操作系统等各种操作系统中、或者在被称为Longhorn的下一版本Windows的指示和打印环境中,运行定制的驱动程序。即,可以提供能在更多种操作系统中运行的定制的驱动程序。
其它实施例
注意,还可以这样来实现本发明:向系统或装置提供其上存储有软件程序代码的存储介质,在设置在该系统或装置中的计算机(或CPU或MPU)上读取并执行该程序代码,从而实现上述实施例中所公开的功能。
在这种情况下,从该存储介质中读取的该程序代码实现了上述实施例中所公开的功能,并且其上存储有该程序代码的存储介质落入本发明的范围内。不仅可以通过在计算机上执行该程序代码来实现该实施例所公开的功能,而且还可以由运行在该计算机上的操作系统(OS)等根据该程序代码发出的命令来执行部分或全部处理。这种功能的实现也落入本发明的范围内。
可以将存储在存储介质上的程序代码加载到插入计算机中的扩展卡的存储器中或者与计算机连接的扩展单元的存储器中,并由设置在该扩展卡或扩展单元上的CPU根据所加载的程序代码,执行部分或全部处理。这种功能的实现也落入本发明的范围内。
为了在这种存储介质上实现本发明,将与(图6或图8、或者图11到13中的一个所示的)流程图相对应的程序代码存储在该存储介质上。
尽管参考典型实施例已对本发明进行了说明,但是应该理解,本发明不局限于所公开的典型实施例。特别是,尽管参考打印机驱动程序已对本发明进行了说明,但是用于例如音频、视频、成像、或扫描设备等其它设备的驱动程序也可以使用本发明。以下权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
Claims (36)
1.一种信息处理装置,其包括:定制装置,用于在不将设备驱动程序以可运行的方式注册到操作系统的情况下,定制该设备驱动程序。
2.根据权利要求1所述的信息处理装置,其特征在于,该定制装置包括:
获取装置,用于获取包括与打印有关的属性的一个或多个属性;以及
设置装置,用于在设备驱动程序中,设置包括由该获取装置获取的与打印有关的属性的该一个或多个属性,而不是必须将该设备驱动程序以可运行的方式注册在该操作系统中。
3.根据权利要求1所述的信息处理装置,其特征在于,还包括响应装置,该响应装置作为对该操作系统的替代,用于当通过该设备驱动程序将信息输入到该装置时,对该设备驱动程序作出响应。
4.根据权利要求3所述的信息处理装置,其特征在于,该设备驱动程序将来自该响应装置的响应当作来自该操作系统的响应,并在接收到该响应之后,该设备驱动程序继续后续处理。
5.根据权利要求4所述的信息处理装置,其特征在于,通过与打印机驱动程序相对应的准应用程序界面来实现该响应装置。
6.根据权利要求1所述的信息处理装置,其特征在于,该定制装置能够对被设计成在不同类型的操作系统上执行的多个设备驱动程序设置一个或多个属性。
7.根据权利要求1所述的信息处理装置,其特征在于,该定制装置能够一次定制多个设备驱动程序。
8.根据权利要求1所述的信息处理装置,其特征在于,该信息处理装置包括:
判断装置,用于判断该设备驱动程序是否是可定制的;
显示装置,如果该判断装置判断出该设备驱动程序是可定制的,则该显示装置显示用于设置该设备驱动程序的属性的设置屏幕;
获取装置,用于获取与该设备驱动程序的设置属性相对应的数据;以及
显示控制装置,用于基于由该设置装置设置的该设备驱动程序的属性,在用户界面中显示由该获取装置获取的数据。
9.根据权利要求8所述的信息处理装置,其特征在于,该显示控制装置控制该用户界面中的项,使得根据由该设置装置设置的属性,激活、禁止或隐藏该项。
10.根据权利要求8所述的信息处理装置,其特征在于,还包括数据存储装置,该数据存储装置用于存储与该打印机驱动程序的设置有关的数据,并能够向该获取装置发送数据和从该获取装置接收数据;
其中,该获取装置将与由该设置装置设置的属性相对应的数据存储在该数据存储装置中,并且该获取装置获取与相应于该属性的打印机驱动程序有关的信息,作为定制设置信息。
11.根据权利要求10所述的信息处理装置,其特征在于,还包括选择装置,该选择装置用于基于存储在该数据存储装置中的地址信息,选择将要使用的应用程序界面。
12.根据权利要求11所述的信息处理装置,其特征在于,当调用与该设备驱动程序的设置属性相对应的应用程序界面时,所调用的应用程序界面以与由对应于该设备驱动程序的属性的打印机驱动程序执行的相同方式来执行处理。
13.根据权利要求7所述的信息处理装置,其特征在于,还包括生成装置,该生成装置用于将该设备驱动程序的设置属性写入与该设备驱动程序有关的信息文件中,并通过定制该设备驱动程序生成驱动程序。
14.根据权利要求8所述的信息处理装置,其特征在于,当启动该设备驱动程序时,该显示控制装置读取与该设备驱动程序有关的信息文件,并根据该信息文件显示该用户界面。
15.一种信息处理方法,其包括:定制步骤,用于在不将设备驱动程序以可运行的方式注册到操作系统的情况下,定制该设备驱动程序。
16.根据权利要求15所述的信息处理方法,其特征在于,该定制步骤包括:
获取步骤,用于获取包括与打印有关的属性的一个或多个属性;以及
设置步骤,用于在设备驱动程序中,设置包括由该获取步骤获取的与打印有关的属性的该一个或多个属性,而不是必须将该设备驱动程序以可运行的方式注册到该操作系统。
17.根据权利要求16所述的信息处理方法,其特征在于,
通过应用程序执行该获取步骤中的处理和该设置步骤中的处理;以及
响应步骤,作为对该操作系统的替代,当该应用程序通过该设备驱动程序被输入信息时,该响应步骤对该设备驱动程序作出响应。
18.根据权利要求17所述的信息处理方法,其特征在于,该设备驱动程序将来自该应用程序的响应当作来自该操作系统的响应,并在接收到该响应之后,该设备驱动程序继续后续处理。
19.根据权利要求17所述的信息处理方法,其特征在于,通过与打印机驱动程序相对应的准应用程序界面来执行该响应步骤。
20.根据权利要求16所述的信息处理方法,其特征在于,该设置步骤能够对被设计成在不同类型的操作系统上执行的多个设备驱动程序设置包括与打印有关的属性的该一个或多个属性。
21.根据权利要求16所述的信息处理方法,其特征在于,该设置步骤能够一次对多个设备驱动程序设置在该获取步骤中获取的与打印有关的信息。
22.根据权利要求20所述的信息处理方法,其特征在于,还包括:生成步骤,该生成步骤用于将该设备驱动程序的该设置属性写入与该设备驱动程序有关的信息文件中,并通过定制该设备驱动程序生成驱动程序。
23.一种信息处理方法,其通过设置控制打印机的设备驱动程序的属性来定制该设备驱动程序,该方法包括以下步骤:
判断步骤,用于判断该设备驱动程序是否是可定制的;
设置步骤,如果在该判断步骤中判断出该设备驱动程序是可定制的,则通过在显示装置上显示用于设置文档属性和设备属性的设置屏幕来设置该文档属性和该设备属性;
获取步骤,用于获取与该设备驱动程序的设置属性相对应的数据;以及
显示步骤,用于基于在该设置步骤中设置的该文档属性和该设备属性,在用户界面中显示在该获取步骤中获取的数据。
24.根据权利要求23所述的信息处理方法,其特征在于,该显示步骤包括控制该用户界面中的项的步骤,使得根据在该设置步骤中设置的该文档属性,激活、禁止或隐藏该项。
25.根据权利要求24所述的信息处理方法,其特征在于,还包括:数据存储步骤,用于将与该打印机驱动程序的设置有关的数据存储在数据存储装置中,并在该获取步骤中发送和接收该数据;
其中,该获取步骤包括:在该数据存储步骤中,将与在该设置步骤中设置的设备驱动程序属性相对应的数据存储在该数据存储装置中;获取与相应于该属性的打印机驱动程序有关的信息,作为定制设置信息。
26.根据权利要求25所述的信息处理方法,其特征在于,还包括:选择步骤,用于基于在该数据存储步骤中存储在该数据存储装置中的地址信息,选择将要使用的应用程序界面。
27.根据权利要求26所述的信息处理方法,其特征在于,当调用与该设备驱动程序的设置属性相对应的应用程序界面时,所调用的应用程序界面以与由对应于该设备驱动程序的属性的打印机驱动程序执行的相同方式来执行处理。
28.根据权利要求23所述的信息处理方法,其特征在于,该显示步骤包括:当启动该设备驱动程序时,读取与该设备驱动程序有关的该信息文件,并根据该信息文件显示该用户界面。
29.一种存储控制程序的计算机可读的存储介质,当将该控制程序加载到计算机中并执行该控制程序时,该控制程序执行如权利要求15所述的方法。
30.一种用于定制打印机驱动程序的信息处理装置,其包括:
启动装置,用于通过使用适于提供与操作系统的功能相当的功能的准应用程序界面,启动该打印机驱动程序的用户界面;
获取装置,用于使用该准应用程序界面,获取通过由该启动装置启动的该打印机驱动程序的该用户界面输入的命令或数据;以及
设置装置,用于根据与由该获取装置获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
31.根据权利要求30所述的信息处理装置,其特征在于,该设置装置通过创建包括该打印机驱动程序和打印机属性数据的安装设置来进行设置,其中该打印机属性数据与该打印机驱动程序有关、并且表示与由该获取装置获取的该输入命令或数据相对应的该打印机属性。
32.根据权利要求30所述的信息处理装置,其特征在于,该设置装置在没有安装该打印机驱动程序的状态下,根据与该打印机驱动程序有关的打印属性进行设置。
33.一种用于信息处理装置的信息处理方法,该信息处理装置用于定制打印机驱动程序,该信息处理方法包括以下步骤:
启动步骤,用于通过使用适于虚拟提供操作系统的功能的准应用程序界面,启动该打印机驱动程序的用户界面;
获取步骤,用于使用该准应用程序界面,获取通过在该启动步骤中启动的该打印机驱动程序的该用户界面输入的命令或数据;以及
设置步骤,用于根据与在该获取步骤中获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
34.根据权利要求33所述的信息处理方法,其特征在于,该设置步骤包括通过创建包括该打印机驱动程序和打印机属性数据的安装设置进行设置,其中,该打印机属性数据与该打印机驱动程序有关、并且表示与在该获取步骤中获取的输入命令或数据相对应的该打印机属性。
35.根据权利要求33所述的信息处理方法,其特征在于,在没有安装该打印机驱动程序的状态下,执行在该设置步骤中根据与该打印机驱动程序有关的该打印属性的设置。
36.一种存储控制程序的存储介质,该控制程序用来在用于定制打印机驱动程序的信息处理装置中,控制计算机执行包括以下处理的处理:
启动步骤,用于通过使用适于虚拟提供操作系统的功能的准应用程序界面,启动该打印机驱动程序的用户界面;
获取步骤,用于使用该准应用程序界面,获取通过在该启动步骤中启动的该打印机驱动程序的该用户界面输入的命令或数据;以及
设置步骤,用于根据与在该获取步骤中获取的该输入命令或数据相对应的打印机属性,进行与该打印机驱动程序有关的设置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005095694 | 2005-03-29 | ||
JP2005095694 | 2005-03-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1841307A true CN1841307A (zh) | 2006-10-04 |
CN100407127C CN100407127C (zh) | 2008-07-30 |
Family
ID=36955232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100674885A Active CN100407127C (zh) | 2005-03-29 | 2006-03-29 | 能够定制设备驱动程序的信息处理装置、方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8498002B2 (zh) |
EP (1) | EP1710699B1 (zh) |
KR (1) | KR100820849B1 (zh) |
CN (1) | CN100407127C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853144A (zh) * | 2009-03-30 | 2010-10-06 | 佳能株式会社 | 打印控制方法及打印控制装置 |
CN101533332B (zh) * | 2008-03-14 | 2011-06-22 | 株式会社理光 | 屏幕显示方法和信息处理装置 |
CN102214111A (zh) * | 2010-04-08 | 2011-10-12 | 富士施乐株式会社 | 设备驱动程序设定方法和装置、安装方法和装置 |
CN103380452A (zh) * | 2010-12-15 | 2013-10-30 | 三星电子株式会社 | 显示控制装置、程序以及显示控制方法 |
CN103677872B (zh) * | 2012-09-10 | 2018-12-14 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
CN109460196A (zh) * | 2018-10-26 | 2019-03-12 | 苏州浪潮智能软件有限公司 | 一种基于驱动新平台实现打印盖章通用功能的方法 |
CN111251732A (zh) * | 2018-11-30 | 2020-06-09 | 佳能株式会社 | 控制方法和存储介质 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4344921B2 (ja) * | 2003-08-11 | 2009-10-14 | セイコーエプソン株式会社 | Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム |
US7293272B1 (en) | 2004-02-26 | 2007-11-06 | Veritas Operating Corporation | Device driver processing for automated system restores |
US7895170B2 (en) * | 2007-02-14 | 2011-02-22 | Ricoh Company, Ltd. | Document management apparatus, document management program, and recording medium |
JP4986693B2 (ja) * | 2007-04-17 | 2012-07-25 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
JP4948283B2 (ja) * | 2007-06-25 | 2012-06-06 | キヤノン株式会社 | 情報処理装置および制御方法および制御プログラム |
JP5014187B2 (ja) * | 2008-02-07 | 2012-08-29 | 株式会社リコー | デバイスドライバ及びユーザインタフェースのレイアウトカスタマイズ方法 |
JP5274075B2 (ja) * | 2008-03-31 | 2013-08-28 | キヤノン株式会社 | 画像形成装置、画像形成処理方法及びプログラム |
US20100107097A1 (en) * | 2008-10-16 | 2010-04-29 | Andrew Rodney Ferlitsch | Client device with extensible imaging device driver and method implementing same |
CN102204167B (zh) * | 2008-10-31 | 2015-07-01 | 电子湾有限公司 | 测试应用编程接口(api)调用的方法、系统和响应仿真器 |
JP4612912B1 (ja) * | 2009-06-30 | 2011-01-12 | キヤノン株式会社 | 情報処理装置、情報処理システムの制御方法およびプログラム |
JP4667516B2 (ja) * | 2009-06-30 | 2011-04-13 | キヤノン株式会社 | 情報処理装置、情報処理システムの制御方法およびプログラム |
US8881140B1 (en) * | 2009-09-04 | 2014-11-04 | Symantec Corporation | Systems and methods for virtualizing software associated with external computer hardware devices |
JP2011150604A (ja) * | 2010-01-22 | 2011-08-04 | Fuji Xerox Co Ltd | 情報処理装置、印刷プログラム及び印刷システム |
JP5458974B2 (ja) * | 2010-03-10 | 2014-04-02 | 富士ゼロックス株式会社 | 印刷システム及び環境調査プログラム |
JP5893295B2 (ja) * | 2010-10-29 | 2016-03-23 | キヤノン株式会社 | 情報処理装置、表示方法及びプログラム |
US9881239B2 (en) * | 2015-09-03 | 2018-01-30 | Ricoh Company, Ltd. | Computer-readable recording medium, information processing device, and information processing system |
US11223537B1 (en) | 2016-08-17 | 2022-01-11 | Veritas Technologies Llc | Executing custom scripts from the host during disaster recovery |
US10122872B1 (en) | 2017-05-31 | 2018-11-06 | Xerox Corporation | Automatic configuration of network devices in remote managed print service applications utilizing groups of historical device data |
JP6936634B2 (ja) * | 2017-06-23 | 2021-09-22 | キヤノン株式会社 | 情報処理装置および情報格納方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5291585A (en) * | 1991-07-29 | 1994-03-01 | Dell Usa, L.P. | Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format |
US5668992A (en) | 1994-08-01 | 1997-09-16 | International Business Machines Corporation | Self-configuring computer system |
US6825941B1 (en) * | 1998-09-21 | 2004-11-30 | Microsoft Corporation | Modular and extensible printer device driver and text based method for characterizing printer devices for use therewith |
US6490051B1 (en) * | 1998-09-21 | 2002-12-03 | Microsoft Corporation | Printer driver and method for supporting worldwide single binary font format with built in support for double byte characters |
GB2357600A (en) | 1999-12-23 | 2001-06-27 | Ibm | Hardware dependent software installation |
US8527872B1 (en) * | 2000-01-18 | 2013-09-03 | Autodesk, Inc. | Multiple output device association |
US6814510B1 (en) * | 2000-08-02 | 2004-11-09 | Xerox Corporation | Method and apparatus for automatic update of a printer driver configuration and status |
US20030043396A1 (en) * | 2001-08-29 | 2003-03-06 | Klosterman Elliot L. | Printer driver access interface |
WO2003032152A2 (en) | 2001-10-04 | 2003-04-17 | Koninklijke Philips Electronics N.V. | Device running a user interface application |
US7284246B2 (en) * | 2002-04-23 | 2007-10-16 | Canon Kabushiki Kaisha | Extensible device driver |
GB2391667A (en) * | 2002-07-31 | 2004-02-11 | Hewlett Packard Co | Reconfiguration of a computer-based printing system |
US7256901B2 (en) * | 2002-10-10 | 2007-08-14 | Sharp Laboratories Of America, Inc. | Printer driver customization using incremental custom print processor |
US7853946B2 (en) * | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
US20050039193A1 (en) * | 2003-03-20 | 2005-02-17 | Samsung Electronics Co., Ltd. | Method and apparatus for generating device driver and user interface screen |
JP4082256B2 (ja) * | 2003-03-25 | 2008-04-30 | ブラザー工業株式会社 | 情報処理装置及びプログラム |
US7869068B2 (en) * | 2003-06-27 | 2011-01-11 | Zoran Corporation | Printer driver extension and related method |
JP4574344B2 (ja) * | 2004-01-20 | 2010-11-04 | キヤノン株式会社 | 情報処理装置及び方法 |
-
2006
- 2006-03-16 US US11/377,117 patent/US8498002B2/en active Active
- 2006-03-20 EP EP06251475.7A patent/EP1710699B1/en active Active
- 2006-03-29 KR KR1020060028254A patent/KR100820849B1/ko active IP Right Grant
- 2006-03-29 CN CN2006100674885A patent/CN100407127C/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533332B (zh) * | 2008-03-14 | 2011-06-22 | 株式会社理光 | 屏幕显示方法和信息处理装置 |
CN101853144A (zh) * | 2009-03-30 | 2010-10-06 | 佳能株式会社 | 打印控制方法及打印控制装置 |
CN102214111A (zh) * | 2010-04-08 | 2011-10-12 | 富士施乐株式会社 | 设备驱动程序设定方法和装置、安装方法和装置 |
CN103380452A (zh) * | 2010-12-15 | 2013-10-30 | 三星电子株式会社 | 显示控制装置、程序以及显示控制方法 |
CN103380452B (zh) * | 2010-12-15 | 2016-06-29 | 三星电子株式会社 | 显示控制装置以及显示控制方法 |
CN103677872B (zh) * | 2012-09-10 | 2018-12-14 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
CN109460196A (zh) * | 2018-10-26 | 2019-03-12 | 苏州浪潮智能软件有限公司 | 一种基于驱动新平台实现打印盖章通用功能的方法 |
CN111251732A (zh) * | 2018-11-30 | 2020-06-09 | 佳能株式会社 | 控制方法和存储介质 |
CN111251732B (zh) * | 2018-11-30 | 2021-11-09 | 佳能株式会社 | 控制方法和存储介质 |
US11481161B2 (en) | 2018-11-30 | 2022-10-25 | Canon Kabushiki Kaisha | Control method and storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR100820849B1 (ko) | 2008-04-11 |
KR20060105513A (ko) | 2006-10-11 |
CN100407127C (zh) | 2008-07-30 |
US8498002B2 (en) | 2013-07-30 |
EP1710699A3 (en) | 2009-04-22 |
EP1710699B1 (en) | 2016-05-11 |
EP1710699A2 (en) | 2006-10-11 |
US20060221370A1 (en) | 2006-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1841307A (zh) | 能够定制设备驱动程序的信息处理装置、方法和控制程序 | |
CN1841298A (zh) | 信息处理装置和方法,程序以及存储介质 | |
CN1304935C (zh) | 进行脱机指示的信息处理装置、打印控制方法 | |
JP3904422B2 (ja) | プロダクション・スキャナに接続するためのシステムおよび方法 | |
CN1841326A (zh) | 信息处理装置和信息处理方法 | |
CN1269018C (zh) | 打印控制设备和方法、信息处理设备及方法 | |
JP5370253B2 (ja) | 制御装置、プログラム、及び管理方法 | |
JP2002209047A (ja) | 複数のプロダクション・スキャナにインターフェースするためのシステムおよび方法 | |
CN101038537A (zh) | 信息处理设备和信息处理方法 | |
CN1645345A (zh) | 信息处理装置以及方法 | |
CN1186713C (zh) | 信息处理装置、打印控制装置及方法 | |
CN1441352A (zh) | 信息处理装置、该信息处理装置的控制方法、存储媒体 | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
US6738156B1 (en) | Reusable job editing and delivery system | |
US20050283735A1 (en) | Adaptive universal symbol driver interface | |
US8688864B2 (en) | Information processing apparatus, information processing method, and information processing program | |
CN1624648A (zh) | 信息处理系统、打印控制方法以及程序 | |
US20080250430A1 (en) | Method and corresponding apparatus for creation of print drivers in a network | |
US9906679B2 (en) | Image forming device and image forming method | |
US10891087B2 (en) | Print system, printer and non-transitory computer-readable recording medium storing instructions therefor | |
JP2008217826A (ja) | 情報処理装置又は情報処理方法並びに記憶媒体 | |
JP2010003322A (ja) | プログラムを格納した記憶媒体及び情報処理装置並びに情報処理方法 | |
JP4757273B2 (ja) | プログラムを格納した記憶媒体及び情報処理装置並びに情報処理方法 | |
JP2005267367A (ja) | 周辺機器ドライバ、周辺機器制御装置および周辺機器ドライバのインストール方法 | |
JP2001125778A (ja) | ユーザインターフェースシステム、ユーザインターフェースシステムを備えた情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |