0
C#/ .NET中有哪些选项可用来获取已安装打印机的状态?我们需要的唯一信息就是如果打印机处于打开或关闭状态(我们在屏幕上有一个指示灯,指示“打印机就绪”或“打印机离线”)。WMI有什么替代方法可用于获取打印机的状态?
我们的应用程序是一个在嵌入式PC上运行的小型客户端。我们发现WMI Windows进程内存不足。在我的开发PC上观看它时,由于它使用的内存量缓慢增加,似乎存在内存泄漏。在内存有限的嵌入式设备上,这是不可接受的,我们在几个小时后发现应用程序崩溃。
你有没有试过处理内存泄漏? –
这是WMI进程(wmiprvse.exe)正在增加,因此看起来内存泄漏超出了我的控制范围。我每秒执行一次循环: - 'ManagementObjectSearcher searcher = new ManagementObjectSearcher(“SELECT * FROM Win32_Printer”); 的foreach(在searcher.Get的ManagementObject打印机()){ // 检查打印机的名称,并与脱机工作性质 值触发一个事件}' – Adam
它仍然可能是你的代码是不是释放另一端。尝试只使用一个'ManagementObjectSearcher' –