Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Levitas
Thema: Windows Soundoutput abfragen
Am im Forum: Grafik und Sound

@ Big Al: NAudio macht irgendwie auch nicht das was ich will.. Es kann zwar die Stärke anzeigen, jedoch nur wenn man eine Audio-Datei angibt - und nicht über den Windows-Output ... :S
Oder ich bin einfach zu dumm, und habe da was übersehen/überlesen?

@ Gwinn: Ich hab das Sample getestet, aber das Teil hat mir nur anezeigt, was passiert, wenn das Mikro einen Ton erfasst...? :(

Lg Marc

Thema: Windows Soundoutput abfragen
Am im Forum: Grafik und Sound

Das ist ja das Problem, ich mag nicht dn Input abfragen, sondern den Output. Ich mag das Spektrum, wie es (im Moment der Abfrage) von Windows zur Soundkarte geschickt wird...

Lg Marc

Thema: Windows Soundoutput abfragen
Am im Forum: Grafik und Sound

Hallo Leute!

Ich bin derzeit auf der Suche nach einer Möglichkeit, alles, was zur Soundkarte geschickt wird, abzufragen. Ich mag einen simplen Audio-Visualizer basteln (jedoch als Rainmeter-Plugin).

Es geht also darum, das Spektrum auf die ganzen einzelnen Frequenzen aufzusplitten, und deren Stärke als Balken darzustellen... Jedoch finde ich keine Möglichkeit, das komplette Audio-Spektrum ohne zusätzliche Libraries (Ich wäre mit WinAPI, und DirectX zufrieden, Fremd-Libraries will ich eigentlich nicht verwenden) abzufragen. :(

Hat vllt. von euch jemand eine Idee?
Vielen Dank im Vorraus!

Lg Marc

PS: SuFu und Google natürlich schon benutzt! Hab aber nur Möglichkeiten gefunden, mit DirectSound vom Mikro aufzunehmen. Mehr aber leider auch nicht.

Thema: Binäruhr
Am im Forum: Projekte

Ich wollte hier noch etwas vorstellen, da ich mich eigentlich durch dieses sehr nette Tool zu etwas inspirieren habe lassen.

Ich hab mir eine eigene Hardware-Binäruhr gebaut. Mehr dazu in Atmel ATmega - Binary Clock :)

Lg Marc

Thema: Office (Excel) 2010 Style
Am im Forum: GUI: WPF und XAML

Ich würde dir zu Elegant UI raten.

Kann ich nur weiterempfehlen! Wenn man sich einmal dran gewöhnt hat, ist es meiner Meinung nach der beste Office-Nachbau!

Kostet jedoch aber leider etwas...

Mehr dazu hier

Lg Marc

Thema: picturebox.Graphics als Bild Speichern (.png o.ä.)
Am im Forum: Grafik und Sound

Ich würde es so machen:

Das was in der Paint steht, verschiebst du in eine eigene Methode -->


public void RenderBox(Graphics renderTarget)
{
    // Zeichnen mit renderTarget
}

in der Paint:

RenderBox(e.Graphics);

und zum speichern:

public void Save(string path)
{
    Bitmap bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
    Graphics graphics = Graphics.FromImage(bitmap);
    RenderBox(graphics);
    using (Stream stream = new FileStream(path, FileMode.Create, FileAccess.Write))
    {
        bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
    }
}

So sollte es gehen! ;)
Und vergiss das "using System.IO;" nicht! ;)
Lg Marc

Edit: Vergiss das mit dem CreateGraphics! Nimm lieber die Paint-Methode der PictureBox, da bekommst du über "e.Graphics" schon was mitgeliefert ;)

Lg

Thema: Internet Explorer protokollieren
Am im Forum: Rund um die Programmierung

@Herbivore: Wenn die Mitarbeiter davon wissen, ist dass doch legal, oder?

Jedenfalls gibt es Libraries, mit denen du an den Verlauf vom Internet Explorer kommst, wie es mit dem Starten/Beenden aussieht, kann ich dir nicht sagen.

Lg Marc

Thema: Icon (auf Desktop/in der Taskleiste) mit Zahl markieren
Am im Forum: GUI: Windows-Forms

Also, in der Taskbar ist es einfach. Dafür gibt es eine Library von Microsoft.

Am Desktop wird es schon etwas schwieriger. Soweit ich weiß, wirst du um eine Shell Extension nicht drum rum kommen...

Lg Marc

Thema: Bild einfliegen lassen
Am im Forum: Grafik und Sound

Also, ich würde das mit nem Timer, dem Paint-Event und Invalidate() realisieren...

Z.B. so:


        private Timer timer1;
        private IContainer components;
    
        public Form1()
        {
            InitializeComponent();

            // Set the value of the double-buffering style bits to true.
            this.SetStyle(ControlStyles.DoubleBuffer |
            ControlStyles.UserPaint |
            ControlStyles.AllPaintingInWmPaint,
            true);

            this.UpdateStyles();
        }

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.timer1 = new System.Windows.Forms.Timer(this.components);
            this.SuspendLayout();
            // 
            // timer1
            // 
            this.timer1.Enabled = true;
            this.timer1.Interval = 5;
            this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
            // 
            // Form1
            // 
            this.ClientSize = new System.Drawing.Size(512, 384);
            this.Name = "Form1";
            this.Text = "Main Form";
            this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
            this.ResumeLayout(false);

        }

        int x = 512;
        int y = 0;

        private void timer1_Tick(object sender, EventArgs e)
        {
            x--;
            if (x == 0)
                timer1.Stop();

            this.Invalidate(false);
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Graphics graphics = e.Graphics;

            graphics.DrawImage(PaintSample.Properties.Resources.Test, new Point(x, y));
        }

Ich habe dir das Sample angehängt. Hoffentlich hilft es dir!
Dein Code war wirklich etwas... unperformant.
Das liegt z.B. auch daran, dass du bei jedem Update das Bild neu lädst.
Beachte auch, dass du mehr als einfaches DoubleBuffer = true brauchst... Siehe Konstruktor ;)

Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Danke, das hat mir wirklich sehr geholfen!

Ich habe es nun soweit gebracht, dass das icon ganz links (und da befindet es sich auch direkt nachdem es gestartet wurde...) ganz nach rechts zu verschieben.

Code dazu:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;

namespace PowerMonitor
{
    public class Win32
    {
        public enum ToolbarMessages : uint
        {
            WM_USER = 0x0400,
            TB_GETBUTTON = (WM_USER + 23),
            TB_BUTTONCOUNT = (WM_USER + 24),
            TB_MOVEBUTTON = (WM_USER + 82)
        }

        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, int wParam, int lParam);
        
        // For Windows Mobile, replace user32.dll with coredll.dll
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, IntPtr windowTitle);

        private static IntPtr FindTrayToolbarWindow()
        {
            IntPtr hWnd = FindWindow("Shell_TrayWnd", null);
            if (hWnd != IntPtr.Zero)
            {
                hWnd = FindWindowEx(hWnd, IntPtr.Zero, "TrayNotifyWnd", IntPtr.Zero);
                if (hWnd != IntPtr.Zero)
                {
                    hWnd = FindWindowEx(hWnd, IntPtr.Zero, "SysPager", IntPtr.Zero);
                    if (hWnd != IntPtr.Zero)
                    {
                        hWnd = FindWindowEx(hWnd, IntPtr.Zero, "ToolbarWindow32", IntPtr.Zero);
                    }
                }
            }
            return hWnd;
        }

        public static void MoveFirst()
        {
            IntPtr hWnd = FindTrayToolbarWindow();
            int index = 0;
            UInt32 count = (UInt32)SendMessage(hWnd, (uint)ToolbarMessages.TB_BUTTONCOUNT, 0, 0);


            SendMessage(hWnd, (uint)ToolbarMessages.TB_MOVEBUTTON, index, (int)count);
        }
    }
}

Vllt. hilft es ja jemanden :)

Vielen Dank nochmal für die Hilfe,
Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Ja, das ist mir ja auch klar. Ich weiß aber nicht wie, vor allem nicht, weil das Programm kein Windows-Dienst ist, sondern einfach ein als [STAThread] markiertes Programm, das statt normaler GUI einfach nur ein NotifyIcon lädt. Es sollte möglichst einfach sein, deshalb habe ich es so gemacht, dass man die runtergeladene exe einfach nur in den Autostart kopieren muss damit es funktioniert...

Aber es ist auf jeden Fall möglich, die Symbole nachträglich noch zu verschieben. Es gibt einige Programme die das ermöglichen, darunter z.B. "Taskbar shuffle". Ich habe mich schon per Mail an den Programmierer gewandt, jedoch hat er nicht geantwortet, und ich wüsste nicht, wen ich sonst fragen sollte, außer eine Riesen-Community :)

Vllt. weiß ja wirklich jemand wie man sowas machen kann... :)

Lg Marc

Edit: Bitte entschuldigt wenn ich die nächsten drei Tage nicht antworte, da ich nicht zu Hause bin. Mal sehen ob ich ins Internet komme...

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Das Programm ist eine systray-App. Es zeigt einfach nur den Akku-Status an, jedoch viel detaillierter als Windows (und braucht gerade mal 9MB im Ram und hat max. 10 Sekunden Reaktionszeit).

Da normalerweise die Batterie-Anzeige in Windows als erstes geladen wird, ist sie im System-Tray auch ganz rechts. Mein Symbol kullert allerdings immer irgendwo herum, deswegen möchte ich es beim AppStart ganz nach rechts, also an die erste Position verschieben, damit es auch sichtbar ist. Ich habe allerdings keine Idee, wie ich das machen soll.
Ich hoffe dass ihr mir jetzt helfen könnt, bitte entschuldigt dass ich bisher etwas "schwammig" gefragt habe... :)

Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Hallo,

das ist ja das Problem... Ich finde keinen Code dazu, wie man sowas bewerkstelligen könnte. Ich habe einfach keine Ahnung, deswegen habe ich nochmal gefragt... Und da ich keinen Code habe, weiß ich auch nicht was ich davon zeigen könnte ;)

Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Ok, ich habe mich jetzt 2 Tage lang gespielt.. Aber ich bring es einfach nicht zusammen. Kann mir vllt. jemand auf die Sprünge helfen?

Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Hallo,

vielen Dank erstmal für deinen Tipp zero_x, ich bin schon eifrig am suchen, das meiste was ich bisher jedoch gefunden habe hatte nur mit dem bekommen der Werte, und nicht mit dem setzen der Werte zu tun...

Ich melde mich nochmal wenn ich mehr weiß,

Lg Marc

Thema: NotifyIcon verschieben, ganz nach rechts
Am im Forum: GUI: Windows-Forms

Hallo Leute!

Ich suche derzeit nach einem Weg, ein NotifyIcon "ganz nach rechts" zu verschieben.
Es soll die Windows-Batterieanzeige ersetzen, da ich die (in XP) einfach nur zum kotzen finde. Das Programm kann hier angesehen/runtergeladen werden. (Einfach die exe starten, man kann es dann mit der rechten Maustaste beenden).

Es funktioniert schon alles, jedoch ist es an der falschen Position. Das Ausblenden des Originals kann man per Hand vornehmen. Nun muss nur noch meines richtig angezeigt werden, und nicht irgendwo.

Mir ist klar, dass das nur (wenn überhaupt) über die Windows-API funktioniert.
Hat jemand von euch vllt. eine Idee, wie das funktionieren könnte?

Lg Marc

Thema: Umgang mit dynamisch erzeugten Buttons
Am im Forum: GUI: Windows-Forms

Also, referenzieren würde ich sie in einer List<Button>

Wenn du die Liste enumerierst kannst du auch auf jeden Button zugreifen und dessen Eigenschaften bearbeiten.

Lg Marc

Thema: Verhindern, das sich eine Form 2 mal öffnet
Am im Forum: GUI: Windows-Forms

Bezüglich this.Visible: Es wäre besser, die Methode this.Hide() aufzurufen, um die Form zu verstecken, und this.Show() um sie wieder anzuzeigen.

Lg Marc

Thema: SQL-Abfrage kann wegen Berechtigungen nicht ausgeführt werden
Am im Forum: Datentechnologien

Hey, wie versprochen noch mein Bericht:

Es hat einwandfrei funktioniert. Nur zwei doofe Häckchen...

Trotzdem danke
Hättest du das nicht geschrieben, hätte ich nicht so schnell in diese Einstellungen geschaut, und den Fehler in meinem Programm gesucht 8o

Mfg Marc

Thema: SQL-Abfrage kann wegen Berechtigungen nicht ausgeführt werden
Am im Forum: Datentechnologien

Ich habe mir nochmal die Berechtigungen angeguckt, und dabei ist mir folgendes aufgefallen:

Der Benutzer hatte bei den Berechtigungen ÜBERALL ein häckhen. Somit nicht nur bei db_datareader/-writer, sondern auch bei db_denydatareader/-writer... :(

Man, bin ich dämlich. Aber richtig testen kann ich das erst morgen, wenn ich wieder dort bin. Danke trotzdem für die Hilfe, ich werde morgen nochmal bescheid geben, ob alles geklappt hat!

Lg Marc

Thema: SQL-Abfrage kann wegen Berechtigungen nicht ausgeführt werden
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL

Hallo Leute!

Ich habe derzeit ein kleines Problem. Ich sollte für einen Kunden ein kleines Programm schreiben, dass mit dem Microsoft SQL Server (v 8.0 --> Also 2000) auf einem Windows Server 2003 gewisse Daten speichern und wieder auslesen kann.

Bei mir zuhause funktioniert das alles ja recht gut, hier läuft aber nur der Standard 2008 SQLEXPRESS, der beim VS 2010 dabei ist. Aber beim Kunden rennt eine richtige SQL-Datenbank, wo man logischerweise mit Benutzername und Passwort arbeiten muss.

Also, habe ich als ConnectionString nun "Server: SERVER; Database: DataStorage; User Id=myUser; [email protected]". Das connecten und so funktioniert super.

Und wenn ich dann folgendes machen möchte: "SELECT * FROM USERS" (die Tabelle existiert, hat alle nötigen Spalten und und und) bekomme ich dann folgende Exception:
"Die SELECT-Berechtigung wurde für das USERS-Objekt, DataStorage-Datenbank, Besitzer 'myUser' verweigert.

Hat irgendjemand von euch eine Ahnung, was man dafür umstellen muss?

Der Benutzer 'myUser' hat alle Rechte auf dieser Tabelle.

Hoffe sehr dass mir jemand helfen kann, bin am verzweifeln... :(

Lg Marc

Thema: Korrekte Versionsnummer einer Anwendung ermitteln
Am im Forum: Rund um die Programmierung

Für die fortlaufende Versionsnummer musst du in der AssemblyInfo.cs in folgendem Abschnitt:


// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
//      Hauptversion
//      Nebenversion 
//      Buildnummer
//      Revision
//
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern 
// übernehmen, indem Sie "*" eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]

AssemblyVersion("2.0.0.0") auf AssemblyVersion("2.0.0.*") oder so ändern. Steht ja eh in den Kommentaren ;)

Lg Marc

Thema: Daten aus Textfeldern in Variablen/Konstanten abspeichern
Am im Forum: GUI: Windows-Forms

Versuch es doch mal mit einem StreamReader, bzw. StreamWriter. Damit könntest du Einstellungen mal in ganz banaler Weise uns sehr einfach speichern :)

Habe ich anfangs auch so gemacht ;)
Für jede Einstellung eine Zeile. Also, z.B.


1. Zeile für den Empänger,
2. Zeile für den Absender,
3. Zeile für den Betreff.

Beim Beenden des Programmes (Event 'FormClosing') speicherst du, und im Konstruktor lädst du :)

Hoffe dass dich das auf den Weg bringt ;)

Lg Marc

Thema: FtpClient verliert nach mehreren Minuten die Verbindung
Am im Forum: Netzwerktechnologien

Aaah, ok.. Genau das habe ich gesucht. Danke!

Ist schon klar, dass es nicht während dem Transfer passiert, aber wie macht das dann z.B. FileZilla wenn es eine 600MB Datei hochladen muss? Das dauert doch auch Ewigkeiten und es muss die Verbindung aufrecht erhalten...?

Lg Marc

Thema: FtpClient verliert nach mehreren Minuten die Verbindung
Am im Forum: Netzwerktechnologien

Nein, mit FileZilla funktioniert es ja. FileZilla wird ja auch nix anderes machen, als einen eigenen Befehl zur Aufrechterhaltung der Verbindung zu senden. Und genau den suche ich :)

Lg Marc

Thema: FtpClient verliert nach mehreren Minuten die Verbindung
Am im Forum: Netzwerktechnologien

Hallo Leute!

Ich habe eine Frage, und zwar habe ich derzeit ein Problem folgender FtpLibrary: http://ftplibrary.codeplex.com/
Ich habe den Code nur ein bißchen aufgeräumt (Bezeichner verändert, und XML-Kommentare hinzugefügt)

Ich kann super damit arbeiten, mein Programm kommt damit auch sehr gut zurecht. Wenn ich jedoch eine größere Datenmenge auf den Server laden muss (Größere Datenmenge soll heißen mehrere Dateien, ca. 500 Bilder), dann macht der ca. 5 Minuten seine Arbeit, danach geht nichts mehr. Es kommt keine Exception etc., der Client bleibt einfach hängen...

Ich bin mir sehr sicher dass es irgendwas damit zu tun hat, dass der Client kein "Ich bin noch da" sendet, ich weiß aber nicht wie der dafür nötige Befehl dafür heißt. Kann mir da jemand helfen? Google/Wikipedia hat mich nicht wirklich weitergebracht...

Vielen Dank im Vorraus,
Mfg Marc

Thema: .NET 4 -> .NET 2: immer noch Abhängigkeit von .NET 4 irgendwo versteckt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hast du es auch in den Einstellungen vom Projekt umgestellt? (Siehe Bild)

Mfg Marc

Thema: Performance von FTP Upload erhöhen
Am im Forum: Netzwerktechnologien

Ansonten probier doch einfach mal diese FTP-Library, ich nutze die auch, und bin SEHR zufrieden damit, auch was die Geschwindigkeit angeht... die Library "kommuniziert" wie z.B. FileZilla mit dem Server...

Das heißt aber auch, dass du die ChangeWorkDirecotry Methode aufrufen musst und so, dass das funktioniert... Du gibst der Library einen Befehl nach dem anderen an, also Connect, Login, ChangeWorkDirectory, UploadFile, etc. etc...

Hoffe, das hilft dir ;)

Mfg Marc

Thema: Daten suchen in XML-File mit XElement ??
Am im Forum: Datentechnologien

Kann es vllt. sein, dass du nach "P02_01" suchst, welches aber "P2_01" heißt...?

Mfg Marc

Thema: Assembly-Verfügbarkeit prüfen? (File.Exists & GAC)
Am im Forum: Rund um die Programmierung

Ich hab es jetzt einfach mit einem try/catch bei Assembly.Load gemacht... Was besseres ist mir nicht eingefallen^^ Auf jeden Fall funzt es jetzt, trotzdem danke..

Mfg Marc