Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mit C-Sharp aktuellen WimAmp Titel auf Internet Seite wiedergeben

Frage Entwicklung C und C++

Mitglied: MTB4ever

MTB4ever (Level 1) - Jetzt verbinden

04.02.2009, aktualisiert 18.10.2012, 3745 Aufrufe, 7 Kommentare

Hallo, also ich hbe folgendes vor. Ich benutze Winamp und möchte auf einer Seite (in mein Fall www.schueler.cc) in der Statusleiste "Was machst du gerade?" anzeigen lassen welches Lied ich gerade höre (also nach automatischer eingabe des Titels muss auch der button "hinzufügen" geklickt werden). möchte das ganze mit c# umsetzen.
Ich habe bis jetzt folgenden Quelltext der mir den aktuellen Titel von Winamp in ein label in der C# Form ausgibt.

01.
using System; 
02.
using System.Collections.Generic; 
03.
using System.ComponentModel; 
04.
using System.Data; 
05.
using System.Drawing; 
06.
using System.Linq; 
07.
using System.Text; 
08.
using System.Windows.Forms; 
09.
 
10.
namespace WindowsFormsApplication1 
11.
12.
    public partial class Form1 : Form 
13.
14.
        public Form1() 
15.
16.
            InitializeComponent(); 
17.
             
18.
19.
        [System.Runtime.InteropServices.DllImport("user32.dll", 
20.
          CharSet = System.Runtime.InteropServices.CharSet.Auto)] 
21.
        public static extern IntPtr FindWindow(string lpClassName, 
22.
          string lpWindowName); 
23.
 
24.
        [System.Runtime.InteropServices.DllImport("user32.dll", 
25.
          CharSet = System.Runtime.InteropServices.CharSet.Auto)] 
26.
        public static extern int GetWindowText(IntPtr hwnd, 
27.
          string lpString, int cch); 
28.
 
29.
        const string lpClassName = "Winamp v1.x"; 
30.
        const string strTtlEnd = " - Winamp"; 
31.
 
32.
        static string GetSongTitle() 
33.
34.
            IntPtr hwnd = FindWindow(lpClassName, null); 
35.
            if (hwnd.Equals(IntPtr.Zero)) return "Not running"; 
36.
 
37.
            string lpText = new string((char)0, 100); 
38.
            int intLength = GetWindowText(hwnd, lpText, lpText.Length); 
39.
 
40.
            if ((intLength <= 0) || (intLength > lpText.Length)) 
41.
                return "unknown"; 
42.
 
43.
            string strTitle = lpText.Substring(0, intLength); 
44.
            int intName = strTitle.IndexOf(strTtlEnd); 
45.
            int intLeft = strTitle.IndexOf("["); 
46.
            int intRight = strTitle.IndexOf("]"); 
47.
 
48.
            if ((intName >= 0) && (intLeft >= 0) && (intName < intLeft) && 
49.
                (intRight >= 0) && (intLeft + 1 < intRight)) 
50.
                return strTitle.Substring(intLeft + 1, intRight - intLeft - 1); 
51.
 
52.
            if ((strTitle.EndsWith(strTtlEnd)) && 
53.
                  (strTitle.Length > strTtlEnd.Length)) 
54.
                strTitle = strTitle.Substring(0, 
55.
                    strTitle.Length - strTtlEnd.Length); 
56.
 
57.
            int intDot = strTitle.IndexOf("."); 
58.
            if ((intDot > 0) && IsNumeric(strTitle.Substring(0, intDot))) 
59.
                strTitle = strTitle.Remove(0, intDot + 1); 
60.
 
61.
            return strTitle.Trim(); 
62.
63.
 
64.
        static bool IsNumeric(string Value) 
65.
66.
            try 
67.
68.
                double.Parse(Value); 
69.
                return true; 
70.
71.
            catch 
72.
73.
                return false; 
74.
75.
76.
 
77.
 
78.
        private void button1_Click(object sender, EventArgs e) 
79.
80.
            label1.Text = GetSongTitle(); 
81.
82.
 
83.
84.
}
Jetzt weiß ich aber nicht wie ich auf die Internetseite zugreifen kann und dort den Titel einfüge und dann auf den Button klicke. Diese Aktion müste am besten nach jeden Lied passieren.

Kann mir einer helfen ?

Mit freundlichen Grüßen MTB
Mitglied: 14695
16.02.2009 um 10:08 Uhr
Hmm...
Wie "läuft" denn die Seite, die die Information darstellen soll: Welcher Webserver, einfaches HTML?
Bitte warten ..
Mitglied: -Ohforf
17.02.2009 um 12:49 Uhr
Zitat von MTB4ever:
Jetzt weiß ich aber nicht wie ich auf die Internetseite
zugreifen kann und dort den Titel einfüge und dann auf den Button
klicke.

Wie greifst du denn für gewöhnlich auf die Seite zu?

FTP / Baukasten / ...?
Bitte warten ..
Mitglied: MTB4ever
17.02.2009 um 16:31 Uhr
Hi ist ja nicht meine Webseite. Gewöhnlich gehe ich mit den Firefox drauf Log mich ein un dann bearbeite ich die Statusleiste manuell sprich rein klicken text schreiben und dann auf OK Button.
Bitte warten ..
Mitglied: -Ohforf
18.02.2009 um 16:25 Uhr
Man könnte diesen Vorgang automatisieren,
insofern kein Captcha dazwischenfunkt.

Ich bin mir aber recht sicher, das die Betreiber
das garnicht gerne sehen werden.
Bitte warten ..
Mitglied: MTB4ever
18.02.2009 um 16:49 Uhr
Captcha hängt soweit ich weiß nicht dazwischen ... glaub nicht das das die betreiber stören wird .... ob ich jetzt nun alle 3-4min meine statusnachricht mnuell änder oder ob das automatich geschieht kommt aufs selber hinaus
Bitte warten ..
Mitglied: 14695
19.02.2009, aktualisiert 18.10.2012
Aha... Sollte "kein Problem" sein:

1.
Du musst dich an der Seite anmelden. Das ist ein bisschen fummelig, geht aber. Bei "normalen" Seiten werden die Accountdaten in der URL übertragen. Das sieht dann im Klartext z. B. so aus:

anmelden.de/login.php?username=user&passwort=passwort

(Das ist übrigens auch der Grund, warum man seine Anmeldedaten nur über eine per SSL gesicherte Verbindung schicken sollte.)

Du musst dir also mal aus der Quelle der Seite heraussuchen, was der Server wohl erwartet.

2.
Hast du das geschafft, funktioniert der Eintrag deines "Status" auf dieselbe Art und Weise. Die URL könnte z. B. so aussehen:

anmelden.de/statusaendern.php?status=online&ichbin=gut%20drauf

Das "%20" in der URL ist eine Escape-Sequenz. Meint: unsichere Zeichen (Leerzeichen, Umlaute, Sonderzeichen etc.) werden maskiert. "%20" steht z. B. für das Leerzeichen ("ichbin" beudete also im Klartext "gut drauf".

Du solltes beim programmatischen Aufruf von Links darauf achen, dass du unsichere Zeichen vorher maskiert hast. Sonst gibt's noch Fehlermeldungen oder sonst einen Salat...

3.
Den Aufruf von URL (ohne Browser, willst ja nichts anzeigen) realisierst du am besten per System.Net.WebRequest. Ein Beispiel für die Verwendung der Klasse findest du hier

Meld dich nochmal, was du letzlich gemacht hast.

In diesem Sinne,
01.
if (problem == solved) 
02.
{ Application.Exit(); }
Bitte warten ..
Mitglied: MTB4ever
19.02.2009 um 16:04 Uhr
ich teste das mal wenn ich wieder zeit habe ... is nur für freizeit un im mom is mit arbeit en bissle stressig ... trotzdem danke für die tipps
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Sonstige Systeme
Internet Archive: 10.000 Amiga-Titel für den Browser aufbereitet

Link von Frank zum Thema Sonstige Systeme ...

Webbrowser
gelöst Firefox 50 downloads stocken ohne Internet Verbindung (2)

Frage von LordXearo zum Thema Webbrowser ...

Erkennung und -Abwehr
Port 7547 SOAP Remote Code Execution Attack Against DSL Modems Internet Storm Center (5)

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...