分類
    • 主機維護
    • 程式語言
    最新文章

    C# .Net 控制 Windows 的 Wifi 連線

    2024 年 8 月 28 日

    C# .Net 6 匯入至 Windows 憑證

    2024 年 8 月 28 日

    C# .Net 6 刪除 Windows 下的使用者

    2024 年 7 月 31 日

    C# .Net 6 取得 Windows 列印的紀錄 Log

    2024 年 7 月 31 日
    Facebook Instagram
    Facebook Instagram Telegram
    2kH – Technology Log
    • 首頁
    2kH – Technology Log
    Home»程式語言»C# .Net 6 取得 Windows 列印的紀錄 Log
    程式語言 2024 年 7 月 31 日

    C# .Net 6 取得 Windows 列印的紀錄 Log

    每次 Windows 在執行列印動作時能夠在事件檢視器中產生紀錄
    可以透過 C# 取得這些紀錄
    但是預設情況下此紀錄是關閉的需要先開啟才能進行記錄

    using System.Diagnostics.Eventing.Reader;
    
    var elConfig = new EventLogConfiguration("Microsoft-Windows-PrintService/Operational", new EventLogSession());
    if (!elConfig.IsEnabled)
    {
        elConfig.IsEnabled = true;
        elConfig.SaveChanges();
    }

    若無開啟則需要先開啟才能進行紀錄

    var query = "*[System/EventID=307]";
    var elQuery = new EventLogQuery("Microsoft-Windows-PrintService/Operational", PathType.LogName, query);
    var elReader = new EventLogReader(elQuery);
    
    for (EventRecord eventInstance = elReader.ReadEvent(); eventInstance != null; eventInstance = elReader.ReadEvent())
    {
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(eventInstance.ToXml());
    
            var content = new PrinterLogView
            {
                Time = DateTime.SpecifyKind(eventInstance.TimeCreated.Value, DateTimeKind.Local).ToString("o"),
                User = GetPrinterEventData(doc,"Param3"),
                Size = GetPrinterEventData(doc, "Param7"),
                Pages = GetPrinterEventData(doc, "Param8"),
                Printer = GetPrinterEventData(doc, "Param5"),
                Path = GetPrinterEventData(doc, "Param6")
            };    
    }

    紀錄代碼 307 表示列印成功的紀錄
    讀取 XML 內容可以知道列印的資訊
    包含檔案大小、路徑、頁數、印表機名稱等等

    .Net C# Windows

    Leave A Reply Cancel Reply

    關於作者
    關於作者
    我是軟體工程師 2kH
    這裡是用來記錄工作上遇到的事物
    如果有問題想詢問,或者有合作可能
    歡迎來信:2kh@bshade.net
    本部落格文章版權所有
    未經授權,不得進行任何營利行為
    • Home
    © 2025 idawn. All Rights Reserved by 2kH

    Type above and press Enter to search. Press Esc to cancel.