阅读:2766回复:16
打印机开发疑问
我请教各位高手,在用unitool开发打印机驱动程序中,怎么来扩展打印机属性页,以加上我自己打印机的特殊特性,以及这个数据是怎么发给打印机的,谢谢各位~!
|
|
最新喜欢:![]() |
沙发#
发布于:2003-06-23 15:28
例子:
win2000 ddk\\src\\print\\oemdll\\oemui 我也真在看,共同研究 |
|
板凳#
发布于:2003-06-23 18:48
你可以将你的特殊参数作成另一个属性叶,然后调用CMMTDLL将你的属性叶添加到公共属性叶上面
|
|
地板#
发布于:2003-06-24 07:23
谢谢楼上几位的关注,方法我也知道,只是实际做的时候有很多问题,不只那里能提供一个详细的例子,要98下的,2000下的我还未考虑,另外98下的TTY的例子太复杂。
|
|
地下室#
发布于:2003-06-25 13:53
谢谢楼上几位的关注,方法我也知道,只是实际做的时候有很多问题,不只那里能提供一个详细的例子,要98下的,2000下的我还未考虑,另外98下的TTY的例子太复杂。 TTY的例子并不很复杂,其中关于用户界面这一部分的代码功能也不全,DM_MODIFY, DM_UPDATE 和DM_COPY的功能都没有自己实现,建议看看95ddk中的hpplot的例子,那个例子完整的把这一部分东西做了,很有参考价值,TTY的例子其实很像这个例子,其中很多变量名都一样,估计也是参考这个例子。我现在也在做这个东西,不过还有一些问题没有解决 |
|
5楼#
发布于:2003-06-25 22:12
谢谢楼上的回答,我也在找95ddk,能给一个下在的地方吗,还有,能帮我解释一下黑标的用法吗,以及如何开发带有黑标的打印机驱动?谢谢了,要分尽管开口,呵呵。
|
|
6楼#
发布于:2003-06-25 22:45
谢谢楼上的回答,我也在找95ddk,能给一个下在的地方吗,还有,能帮我解释一下黑标的用法吗,以及如何开发带有黑标的打印机驱动?谢谢了,要分尽管开口,呵呵。 下载的地方我记不清楚了,你可以自己搜索一下,我吧hpplot的例子放在附件里了,你可以看看 黑标是什么,我也是刚刚开始做驱动程序,不清楚 |
|
|
7楼#
发布于:2003-06-26 22:25
太感谢你了,我找了很久了,以后多交流。
|
|
8楼#
发布于:2003-06-27 07:25
另外,我怎么编译这个例子,我的环境是98ddk + vc1.52能编译所有的98下的例子。谢谢!
|
|
9楼#
发布于:2003-06-27 13:10
另外,我怎么编译这个例子,我的环境是98ddk + vc1.52能编译所有的98下的例子。谢谢! 用98ddk不能编译这个例子,我前一段时间试过,估计要装95ddk,或者自己把makefile修改一下,不知道源代码有没有对95ddk环境的依赖性 |
|
10楼#
发布于:2003-06-30 22:45
谢谢terrificskyfox关注
还想请教一个问题:我想让打印机开始打印之前,想让打印机接受我自己的命令设置,再开始打印,应该在那里发这个命令呢?谢谢! |
|
11楼#
发布于:2003-07-02 21:05
谢谢terrificskyfox关注 你是说你想在你做的属性页中设置好各种选项然后让打印机按照你的设置来执行打印任务是么? 在属性页的设置中可以使用DEVMODE的private数据来设置这些选项,然后在DM_UPDATE的处理中将它们写入注册表,在打印的过程中利用这些设置的数据就可以了 |
|
12楼#
发布于:2003-07-04 07:33
十分感谢terrificskyfox的回答,可是在DEVMODE结构体中,我没有发现有private数据项,请问是不是将DEVMODE扩展呢,即增加新的数据成员,还有,“在打印的过程中利用这些数据”具体指那些函数呢?另外,我想增加自己的属性页,于是我写了如下代码到ExtDeviceModePropSheet:
HINSTANCE hInstCommon; PROPSHEETPROC PSProc; CREATEPROC CreateProc; FARPROC InitProc; PROPSHEETPAGE psp; HPROPSHEETPAGE hpage; if(((hInstCommon=LoadLibrary(\"COMMCTRL.DLL\")) < HINSTANCE_ERROR) || (!(PSProc=(PROPSHEETPROC)GetProcAddress(hInstCommon, SHELL_PROPSHEET))) || (!(CreateProc=(CREATEPROC)GetProcAddress(hInstCommon, SHELL_CREATEPAGE))) || (!(InitProc=GetProcAddress(hInstCommon, COMMCTRL_INIT)))) { MessageBox(hWnd, \"Hello\",\"Hello\", MB_OK); } InitProc(); _fmemset((LPSTR)&psp,0,sizeof(PROPSHEETPAGE)); psp.dwSize = sizeof(PROPSHEETPAGE); psp.hInstance = hInst; psp.pszTemplate = MAKEINTRESOURCE(TEST1); //psp.pszTitle = L\"Setup Dlg\"; psp.pfnDlgProc = procs; psp.lParam = (LPARAM)lParam; psp.pfnCallback = lpfnAdd; if(hpage = CreateProc(&psp)) lpfnAdd(hpage,lParam); return UniExtDeviceModePropSheet(hWnd, hInst, lpDevName, lpPort,dwReserved, lpfnAdd, lParam); 但是没有出现我自定义的属性页,为什么?还请指教!谢谢! |
|
13楼#
发布于:2004-01-03 14:57
GZ
|
|
14楼#
发布于:2004-01-15 21:36
设计主要有以下几方面的问题需要研究
1.win操作系统下打印机驱动模型的基本结构 2.打印机驱动的基本结构 3.用户模式与内核模式的区别 4.用vc++和winDDK编译驱动的方法(编译参数的设置) 5.打印机驱动必须实现的函数的功能 6.打印机命令\\打印机驱动的数据流 7.安装文件的编写 请问要怎么实现这个方案呢? |
|
|
15楼#
发布于:2004-01-16 16:30
你是新来的吧,没有你这样问的,要自己研究了之后,再来问,笼统的问了这么一堆,说明你什么都不会,还想不劳而获!!!!
|
|
16楼#
发布于:2004-02-01 10:04
就是现在关于驱动开发的问题我什么都不会,让我怎么入手?这个软件也是我刚刚知道的,我知道你了解的多,呵呵,就请你给我点指导好不好???谢谢了!!!!!!!!!!!高手!!!!!!!!!!!!!!!
|
|
|