我的代码枚举了一个元文件:
private void Parse()
{
Graphics graphics = Graphics.FromHwnd(IntPtr.Zero);
PointF pointf = new PointF();
graphics.EnumerateMetafile(_metafile, pointf, ParseCallback);
}
private bool ParseCallback(EmfPlusRecordType recordType,
int flags, int dataSize, IntPtr data, PlayRecordCallback callbackData)
{
// do stuff
}
我的开发机器是 Ubuntu 主机上的 Windows 7VirtualBox
来宾。
以前的代码可以正常工作。但是,当我关闭 Aero 时,代码停止工作:ParseCallback
永远不会调用。
只有当我重新打开 Aero 时,ParseCallback
才会再次执行。
为什么以及如何使此代码在不支持 Aero 的机器上工作?