Как получить авторизацию доступа на переднем плане приложения WPF?C # - PullRequest
0 голосов
/ 25 сентября 2018

Я пишу приложение 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 к фону)?

...