Autor Beitrag
Christoph1972
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Fr 08.03.13 23:27 
Hallo Leute,

meine aktuelles Projekt darf nur ein mal gestartet werden, als Vorlage habe ich mir diesen Artikel rausgesucht: Klick

Das funktioniert soweit. Ich habe nur keine Idee, wie das Fenster in den Fordergrund bekommen. Das Fenster "läuft" im Systemtray, also Visibility.Hidden, ShowInTaskbar = false. Ich habe es so versucht:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
public partial class App : Application, ISingleInstanceApp
{
    static App application = new App();

    private const string Unique = "My_Unique_Application_String";
    [STAThread]
    public static void Main()
    {
        if (SingleInstance<App>.InitializeAsFirstInstance(Unique))
        {

            application.InitializeComponent();
            application.Run();
            // Allow single instance code to perform cleanup operations
            SingleInstance<App>.Cleanup();
        }
    }
  
    public bool SignalExternalCommandLineArgs(IList<string> args)
    {          
        application.MainWindow.Visibility = Visibility.Visible;
        application.MainWindow.Activate();
        application.MainWindow.BringIntoView();
        return true;
    }       
}


Funktioniert nur leider nicht :-)

Hat hier jemand einer Idee wie ich das Fenster in den Fordergrund bringen kann?

_________________
Gruß
Christoph
Christoph1972 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 690
Erhaltene Danke: 16


VS2015 Pro / C# & VB.Net
BeitragVerfasst: Mi 13.03.13 17:39 
Hallo zusammen!

Die C# Lösung funktioniert scheinbar nicht mehr mit dem FW 4.0. Ich hatte mich auch über codeproject.com direkt an den Autor gewendet, leider ohne Erfolg.

Ich habe mir jetzt mit dieser Methode geholfen: Click

Ist zwar nicht so schön, aber sie funktioniert so weit. Eine Besonderheit habe ich jedoch festgestellt. Wenn ein anderes Fenster der Application geöffnet ist, wird nicht das Main-Window geöffnet, sondern das Child-Window, warum auch immer!?

Ich lasse das Thema mal offen, wenn es etwas neues geben sollte, werde ich (oder ihr) es hier niederschreiben!

_________________
Gruß
Christoph
jcs
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 15.04.13 22:09 
Hi
Ich habe mich jetzt auch aus gegebenem Anlass mit diesem Problem und dem gleichen Code aus dem CodeProject beschäftigt.
Du schreibst, es funktioniert unter FW 4 nicht mehr:
War dein Fehler auch der, dass die using directive

using System.Runtime.Remoting.Channels.Ipc

nicht erkannt wurde?

Wenn das der Fall ist, kannst du den Fehler so beheben :

Rechtsklick auf Verweise->Verweis hinzufügen->System.Runtime.Remoting

Danach funktioniert der Code , das ursprüngliche Fenster kommt auch wieder sauber in den Vordergrund.

Gruß
Johannes