兄弟想请教一下众位大虾,如何给系统添加一个虚拟设备?比如,现在有很多的虚拟设备软件,可以给系统添加虚拟的光驱、硬碟、打印机等设备,这在技术上如何实现?另外对这些虚拟设备进行操作的方法是否和物理设备一样?谢谢了!

解决方案 »

  1.   

    AddPrinter
    The AddPrinter function adds a printer to the list of supported printers for a specified server. HANDLE AddPrinter(
      LPTSTR *pName,     // server name
      DWORD Level,      // printer information level
      LPBYTE pPrinter   // printer information buffer
    );
      

  2.   

    呵,谢谢。
    但试了以后,错误提示AddPrinter未定义,而相关头文件我已经添加了,这是怎么回事?
      

  3.   

    添加打印机不是单单一个AddPrinter就可以搞定的,很复杂的。
    1。首先你必须写好你要添加的打印机的驱动程序,并设置好路径。
    2。AddPrinterDriver,这里涉及到很多检测,比如,安装是否已经存在,驱动程序是否被正确拷贝等。但首先必须初始化DRIVER_INFO_1/2/3/4,根据自己要求看是那个结构。
    3。AddPrinter,在上面成功的基础上才能进行这一步。
    4。必须设置好DeletePrinter以便用户删除及释放系统资源等。具体实现的话,楼主是否要进行驱动开发呢,建议先看DDK吧~
      

  4.   

    Thanks,楼上的DX,能否推荐点资料供在下参考?先行谢过了!
      

  5.   

    建议你去看下http://www.driverdevelop.com(驱动开发网)看看,目前国内最好的驱动开发论坛就是这个了,资料挺多的,就是往往提的问题得不到好的解答,没法子,老板让做这个打印驱动呢,没办法,强啃ing……