我有一个必须编译为 x86 的应用程序,因为一些旧的 COM 控制器与非常旧的第 3 方软件驱动程序有关。
我注意到,每当我调用窗体的模态对话框时,而其他一些应用程序具有焦点(例如我正在逐步执行的 Visual Studio 代码),该对话框就会出现在父窗口的后面。
private string Locate(string filename) {
if (!File.Exists(filename)) {
using (OpenFileDialog dlg = new OpenFileDialog()) {
dlg.FileName = filename;
if (dlg.ShowDialog(this) == DialogResult.OK) {
return dlg.FileName;
}
}
}
return filename;
}
我可以将应用程序编译为 x64,但加载 COM 驱动程序将失败,导致应用程序永远无法启动。
有没有其他人从(Visual Studio、.NET Framework 或 Windows 7)注意到这种行为?如果没有,那么我在其他地方的代码中一定有一些奇怪的地方。
有没有办法“修复”它?