我有一個Windows 7嵌入式設備,經常會像這樣循環上電:本地應用程序將一個條目寫入應用程序事件日誌,幾秒鐘後它會命令自定義電源循環切換電源。乾淨的Windows關機無法完成。設備啓動後,我檢查Windows事件日誌並注意缺少最後一項。如何將Windows事件日誌刷新到磁盤?
是否有某種方法將Windows事件日誌刷新到磁盤,以便我不會錯過最後一項?該應用程序是用C++編寫的。
感謝, 阿德南
我有一個Windows 7嵌入式設備,經常會像這樣循環上電:本地應用程序將一個條目寫入應用程序事件日誌,幾秒鐘後它會命令自定義電源循環切換電源。乾淨的Windows關機無法完成。設備啓動後,我檢查Windows事件日誌並注意缺少最後一項。如何將Windows事件日誌刷新到磁盤?
是否有某種方法將Windows事件日誌刷新到磁盤,以便我不會錯過最後一項?該應用程序是用C++編寫的。
感謝, 阿德南
所以最好的辦法是解決它的硬件有硬件問題。但繼續前進。
使用BIOS,以確保計算機電源循環
你有一個硬件工具來執行重啓後總是啓動。你可以重新配置,這樣,而不是做在計算機上運行的硬實力週期,您:
通常有一個bios設置可以讓你指定重新開機後的動作,例如,
如果你可以做到這一點,那麼你仍然可以做一個有序的關機,並等待它重新開機之前完成。
軟件解決方案:關閉磁盤寫入緩存
這不完全清楚是什麼原因造成您的問題,但下面的內容可能相關。
最有可能的是,這是由磁盤控制器硬件或操作系統進行磁盤寫入緩存的結果。
您可以通過磁盤管理工具來關閉這個功能:
軟件解決方案:刷新磁盤編程
或者,你可以以編程方式刷新磁盤緩存。這個工具可以幫助:
或者確實與WMI和PowerShell:
爲什麼你認爲它很重要?你試圖解決什麼*實際*問題?操作系統本身負責這一點,並確保事件始終保留**假設**您使用了正確的功能。順便提一下你的代碼 –
如果你的應用程序導致異常關機,你應該修復應用程序。這不僅僅是您的事件信息可能會丟失 - 您還會丟失數據,可能會導致未保存或已保存一半的文件損壞。 –
「實際」問題與硬件有關。系統包含定製板卡,這些板卡發生故障並需要重新通電才能解決問題。正確的解決方案是修復硬件,但這超出了我的範圍。相同的電源也爲Windows嵌入式SBC提供電源。 Windows ReportEvent api函數用於寫入事件日誌,並將COM端口消息發送到電源以告訴它循環供電。 – adnan