vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
button1_click Event aus Funktion heraus auslösen 
Autor: fr3sh
Datum: 11.10.07 13:45

Hallo!

Ich habe eine kleine Anwendung erstellt die "einfach" nur Klassennamen und Fensternamen der aktiven Applikationen ausliest und in einer Listbox auflistet sobald man auf button1 klickt.
Soweit klappt alles super. Nun habe ich noch ein Event eingefügt das ausgelöst wird sobald der Benutzer ein anderes Item in der Listbox auswählt.
Wenn der Benutzer dieses auslöst, dann wird die Taste "b" an das Programm gesendet (ich teste das gerade mit Winamp aus, sodass der nächste Song abgespielt wird).
Der Spaß funktioniert! Aber leider nur einmal, denn danach ändert sich der Fenstername (der nun den neuen Song anzeigt).

Hier mein Code:

private void button1_Click(object sender, EventArgs e)
{
            getCurrentApps();
}
private void RefreshWindowList()
{
            newwindowlist = new List<String>();
            newhandlelist = new List<IntPtr>();
            EnumWindows(EnumWinProc,-1);
}
private void getCurrentApps()
{
            RefreshWindowList();
            listBox1.Items.Clear();
            int count = 0;
            foreach (String item in newwindowlist)
            {
                listBox1.Items.Add((item));
                count += 1;
            }
}
private void listBox1_itemChanged(object sender, EventArgs e)
{
            string[] splitString = listBox1.SelectedItem.ToString().Split(new _
              Char[] { ':' });
            FindAndSendKey(splitString[1], splitString[0]);            
}
private void FindAndSendKey(String WindowClassName, String WindowTitle)
{        
            // Get a handle to the Calculator application. The window class
            // and window name were obtained using the Spy++ tool.
            //MessageBox.Show(WindowClassName + "," + WindowTitle);
            IntPtr appHandle = FindWindow(WindowClassName, WindowTitle);
 
            // Verify that Calculator is a running process.
            if (appHandle == IntPtr.Zero)
            {
                MessageBox.Show("The application ist NOT running.");
                return;
            }
 
            // Make the application the foreground application and send it 
            // a set of keys.
            SetForegroundWindow(appHandle);
 
            SendKeys.Send("b");
            this.getCurrentApps();
 
 }
Mir kommt es so vor als würde die letzte Zeile nicht viel bringen.
Die Liste wird zwar aktualisiert (Winamp steht auf einmal ganz oben in der Liste) aber der Fenstername bleibt beim alten.
Wenn ich aber auf den Button drücke, dann wird die Liste korrekt aktualisiert.
Weiß jemand woran das liegt? Kann ich button1_click irgendwie anders auslösen (außer auf den Button zu klicken) ?

Vielen Dank!

fr3sh
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
button1_click Event aus Funktion heraus auslösen3.706fr3sh11.10.07 13:45
Re: button1_click Event aus Funktion heraus auslösen1.570fr3sh11.10.07 14:45
Re: button1_click Event aus Funktion heraus auslösen1.431Melkor12.10.07 09:54

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel