Я пишу приложение WPF на C #, которое открывает другую программу в фоновом режиме.В моем случае я открываю TIA-Portal (программное обеспечение SIEMENS).Для открытия проекта TIA-Portal требуется авторизация доступа от пользователя.Но окно авторизации доступа всегда появляется за моим MainWindow.
Код, который я использую:
private void openTIA_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog SearchTIAProject = new OpenFileDialog();
SearchTIAProject.Title = "TIA Projekt öffnen";
SearchTIAProject.Filter = "TIA Portal Project|*.ap14";
if (SearchTIAProject.ShowDialog() == true)
{
Block_PfadDesTIAProgramms.Visibility = System.Windows.Visibility.Visible;
Block_PfadDesTIAProgramms.Text = (SearchTIAProject.FileName);
string projectpath = SearchTIAProject.FileName;
myPublicPath = GetPublicPath(projectpath);
myOpenedTIAProject = OpenTIAProject(projectpath); //Functioncall
}
else
{
MessageBox.Show("Keine Datei ausgewählt!");
}
}
public Siemens.Engineering.Project OpenTIAProject(string referedPath)
{
myTIAPortal = new TiaPortal(TiaPortalMode.WithoutUserInterface);
ProjectComposition projects = myTIAPortal.Projects;
FileInfo projectPathTIA = new FileInfo(referedPath);
//This line then needs the access authorization:
myOpenedTIAProject = projects.Open(projectPathTIA);
return myOpenedTIAProject;
}
Я также пытался сделать это во время вызова функции, но он не работал:
MainWindow.Topmost = false;
myOpenedTIAProject = OpenTIAProject(projectpath);
MainWindow.Topmost = true;
MainWindow.Topmost = false;
Есть ли способ авторизации доступа к переднему плану (или MainWindow к фону)?