如何使用带有C#.net的WMI将打印机数据类型更改为emf格式 [英] How to change the printer datatype to emf format using WMI with C#.net

查看:317
本文介绍了如何使用带有C#.net的WMI将打印机数据类型更改为emf格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我已经搜索并获得下面复制的一些代码。

但这段代码工作正常,但只获得默认打印机(已连接)设置和属性。在这我正在读取打印机数据类型。现在我想将数据类型更改为NT EMF 1.008。

Hi,
I already search and get the some code copied below.
But this code working fine, but getting only default printer(which is connected) settings and properties. in this i am reading the printer datatype. now i want to change the datatype to NT EMF 1.008.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Management;
using System.ComponentModel;
using System.Runtime.InteropServices;


namespace SetValueOfWMI
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementEventWatcher watcher = WatchForProcessStart();
             while(true) watcher.WaitForNextEvent();
         }

        private static ManagementEventWatcher WatchForProcessStart()
        {
             string scope = @"\\.\root\CIMV2";
             string queryString = "SELECT TargetInstance FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_PrintJob'";

             ManagementEventWatcher watcher = new ManagementEventWatcher(scope, queryString);
             watcher.EventArrived += ProcessStarted;
             watcher.Start();
             return watcher;
         }

      private static void ProcessStarted(object sender, EventArrivedEventArgs e)
      {
          ManagementBaseObject targetInstance = (ManagementBaseObject)e.NewEvent.Properties["TargetInstance"].Value;
          targetInstance.Properties.Cast<propertydata>().ToList().ForEach(p => Console.WriteLine("{0}={1}", p.Name, p.Value));
      }
    }
}





请帮帮我..



Please help me..

推荐答案

使用 SetPrinter [ ^ ] API调用,结构 PRINTER_INFO_2 [ ^ ]并将pDatatype更改为EMF 1.008
Use the SetPrinter[^] API call, with the structure PRINTER_INFO_2[^] and change pDatatype to "EMF 1.008"


这篇关于如何使用带有C#.net的WMI将打印机数据类型更改为emf格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆