Visual Basic - neue und gute Antworten

  • 0
    Visual Basic 6.0 für Windows XP?
    Antwort von Toasty00 Toasty00

    Einfach Googlen: http://bit.ly/MHQZUw

    war das so schwer ???

  • 0
    Visual Basic aktiven Fenstername in Textbox anzeigen
    Antwort von gkyFFM gkyFFM

    GetForegroundWindow und anschließend GetWindowText.

    Kommentar von MWCompfreak MWCompfreak

    Und wie muss ich das schreiben???

    Ich muss es in einen Timer schreiben oder???

  • 0
    visual basic youtube bild
    Antwort von DarkWolf0306 DarkWolf0306

    ähh sorry youtube downloader nicht player

  • 0
    Visual Basic 2.Frage
    Antwort von MWCompfreak MWCompfreak

    An Alle:

    Ich meinte, dass es mir den Namen des aktiven Fensters in der RichTextBox1 anzeigt!

    So wie Editor, Internet Explorer usw...

  • 0
    Visual Basic 2.Frage
    Antwort von gkyFFM gkyFFM

    http://www.vbarchiv.net/api/api_createtoolhelp32snapshot.html

    Darauf kannst Du aufbauen. Denke bitte daran, daß der SnapShot auch immer wieder danach freigegeben werden muß.

    Vorgehensweise:

    • SnapShot erstellen
    • alle Prozesse auslesen und die Namen speichern
    • SnapShot freigeben

    In einem Timerereignis das Ganze wiederholen und die Prozessnamen beider Abfragen vergleichen.

    Die Verwendung eines Timers ist allerdings nicht die beste Methode. Besser wäre die Verwendung eines Hooks. Wie das vom Prinzip her funktioniert, siehst Du im nächsten Link:

    Aber dazu solltest Du auf eine andere Programmiersprache umsteigen (C++ oder Delphi). Visual Basic ist einfach nur Murks.

    Kommentar von gkyFFM gkyFFMgkyFFM
    Kommentar von MWCompfreak MWCompfreak

    Ich meinte, dass es mir den Namen des aktiven Fensters in der RichTextBox1 anzeigt!

    So wie Editor, Internet Explorer usw...

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Die API braucht man nicht selbst aufrufen, wenn man .Net nutzt. Das gibt es alles in der Process-Klasse, ohne dass man sich um Freigaben kümmern muss. Das erledigt schließlich alles die Process-Klasse des Frameworks.

    Wieso sollte ein Timer keine gute Möglichkeit sein? Der TaskManager oder ProcessExplorer machen das ebenfalls so.

    Kommentar von gkyFFM gkyFFMgkyFFM

    Statt aktiv zu pollen, lässt man sich einfach benachrichtigen. Das ist doch viel eleganter.

  • 0
    Visual Basic 2.Frage
    Antwort von CrystalixXx CrystalixXx

    Es gibt eine Process-Klasse, die eine Methode anbietet um alle laufenden Prozesse zu ermitteln. Mittels eines Timers, dem du ein bestimmtes Intervall vorgibst (wie oft also die Liste aktualisiert werden soll), kannst du auf Änderungen reagieren. Dazu holst du dir also alle laufenden Prozesse, speicherst sie in einer Variable. Im nächsten Schritt vergleichst du die aktuelle Liste mit der gespeicherten und vergleichst, ob ein neues Prozess hinzugekommen ist oder beendet wurde.

    Je nachdem kannst du einen Text in einer TextBox anzeigen lassen.

    Kommentar von MWCompfreak MWCompfreak

    Wie speichere ich die aktuellen Prozesse in einer Variable???

    (BIN NOCH ANFÄNGER)

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Klar könnte ich dir den Code geben. Du schriebst aber selbst, dass du Anfänger bist. Du würdest dann damit wahrscheinlich sowieso nichts anfangen können. Schlichtes Übernehmen von Code hilft nicht beim Lernen. Du solltest dich lieber mit den Grundlagen beschäftigen, wenn du Anfänger bist. Das gehört sich so, wenn man etwas machen will: man muss es lernen!

    Zur Theorie:

    Erstelle einen Timer und klicke doppelt darauf, um das Tick-Ereignis zu behandeln. Auf Klassenebene erstellst du eine Variable "Private tempList As List(Of Process)", das ist also die Auflistung.

    Im Tick-Ereignis iterierst du durch alle vorhandenen Prozesse, fügst dieser einer neuen Liste hinzu (z.B. currentList). Anschließend vergleichst du beide Listen, also tempList und currentList miteinander. Darauf aufbauen kannst du dann ermitteln, ob ein aktueller Prozess neu dazugekommen ist, oder ob einer der Prozesse in der Auflistung fehlt. Am Ende kommt dann noch eine Zeile mit "tempList = currentList".

    Wie man alle Prozesse ermittelt findest du hier: http://msdn.microsoft.com/de-de/library/1f3ys1f9.aspx

    Kommentar von MWCompfreak MWCompfreak

    Das versteh ich alles nich?!? :(

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Dann wirst du wohl folgenden Code auch nicht verstehen:

    Private previousList As List(Of String)
    
    Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
        Dim currentList As New List(Of String)
    
        ' Durch alle laufenden Prozesse iterieren
        ' und der Liste hinzufügen
        For Each p In Process.GetProcesses
            currentList.Add(p.ProcessName)
        Next
    
        If previousList IsNot Nothing Then
            ' Vergleiche, ob ein Prozess in der vorigen Liste vorhanden ist,
            ' in der aktuellen Liste aber nicht mehr. Das heißt, dass der
            ' Prozess beendet wurde.
            For Each processName In previousList
                If Not currentList.Contains(processName) Then
                    RichTextBox1.AppendText(processName & " wurde beendet." & vbCrLf)
                End If
            Next
    
            ' Vergleiche, ob ein Prozess in der aktuellen Liste vorhanden ist,
            ' in der vorigen Liste aber nicht mehr. Das heißt, dass der
            ' Prozess gestartet wurde.
            For Each processName In currentList
                If Not previousList.Contains(processName) Then
                    RichTextBox1.AppendText(processName & " wurde gestartet." & vbCrLf)
                End If
            Next
        End If
    
        previousList = currentList
    End Sub
    

    Der Code ist nur sehr einfach und erfüllt vermutlich nicht all deine Anforderungen. Beispielsweise wird nicht erkannt, ob der gleiche Prozess mehrmals gestartet/beendet wurde. Das kann auf jeden Fall noch optimieren.

    Kommentar von MWCompfreak MWCompfreak

    Ich gibs auf!!!!!!

    Tschau!

    Kommentar von MWCompfreak MWCompfreak

    ICH NEHM ALLES ZURÜCK ICH HABS GESCHAFFT!!!!!!

    DAAANNNKKKKEEEEE!!!!!!!!!!!!!!!!!!!!!!

    Kommentar von MWCompfreak MWCompfreak

    Oder kannst du mir vielleicht einen Code geben?

    Kommentar von MWCompfreak MWCompfreak

    Ich meinte, dass es mir den Namen des aktiven Fensters in der RichTextBox1 anzeigt!

    So wie Editor, Internet Explorer usw...

  • 0
    Visual Basic 2.Frage
    Antwort von reset reset
    Kommentar von MWCompfreak MWCompfreak

    Hilft mir irgendwie auch nicht weiter!

    Ich will das ein Text in der Textbox hinzugefügt wird wenn irgendein Prozess startet! Also das heißt ich will alle Programme überwachen!

    Kommentar von MWCompfreak MWCompfreak

    Ich meinte, dass es mir den Namen des aktiven Fensters in der RichTextBox1 anzeigt!

    So wie Editor, Internet Explorer usw...

  • 1
    Visual Basic Aktuellen Song in Label anzeigen
    Antwort von Termi93 Termi93

    Der von dir eingebaute WMP ist wahrschenilich eine eigene Klasse, oder?

    Die Klasse wird doch bestimmt eine Eigeschaft á la "currentSong" (o.ä. ist ja nur ein bsp.) haben. Ansonsten wäre es einfacher wenn du uns auch Programmcode zur verfügung stellen würdest. :)

    P.S.: Wenn dir hier keiner helfen kann guck mal auf http://www.stackoverflow.com da treiben sich mehr Programmierer rum ;)

    Kommentar von Fitchiii Fitchiii

    Private Sub PictureBox4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox4.Click AxWindowsMediaPlayer1.URL = "LINK ZUM STREAM" Label3.Text = Hier soll der Code zu Auslesen des Titels hin

    hab ein Code mal versucht aber dann steht da nur Media_House Aber ich will ja Titel und Interpret ^^

    Kommentar von Termi93 Termi93Termi93

    Autsch. :P Bitte benutze doch die Formatierung für Programmcode (4 Leerzeichen vor der Zeile, Strg+k oder das Symbol "<>" mit dem Blatt dahinter). ;)

    Ich selber bin kein VB Programmierer, aber ich hab mich mal bei google umgesehen und das hier gefunden, das scheint fast genau dein Problem zu sein und der hat schon Lösungen die er probiert hat in der Frage die bei dir evtl. sogar funktionieren:

    http://social.msdn.microsoft.com/Forums/en-HK/vblanguage/thread/2f79047c-e60c-43bd-b0a3-18a870a855a2

  • 1
    Visual Basic Frage USB
    Antwort von gkyFFM gkyFFM

    Werte die Windowsbotschaft WM_DeviceChange aus.

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa363480(v=vs.85).aspx

    Kommentar von gkyFFM gkyFFMgkyFFM
  • 0
    Leerzeichen in Dateiname
    Antwort von VERGiL1202 VERGiL1202

    Process.Start("excel.exe", "C:\Pfad\zur\Datei\ExcelSheet.xlsx") So wäre die VB.NET Syntax.

    Kommentar von regeirklrak regeirklrak

    Vielen Dank für die rasche Antwort. Leider nicht ganz verwendbar, Habe aber nun nach ewigem Suchen eine ganz verrückte Lösung gefunden:

    Das vielleicht nicht klar beschriebene Problem bei mir ist, dass ich die einzelnen Daten als Variable übergeben muss.

    Programm = "Excel.xls" Pfad = currentproject.path & "\" Datei = "Anwenderdatei.xls"

    stAppName = Programm & Pfad & Datei

    Funktioniert auch wenn nicht im Pfad ein Pfad mit "Blank (z.B. "Dokumente und Einstellungen") enthalten ist. Ist aber ein Blank im Pfad enthalten wird nur bis zum Blank als Programm übergeben (Fehlermeldung bei Excel "Datei c:\Dokumente.XLS nicht gefunden")

    Habe nun einen Hinweis (wie gesagt fast verrückt) im Internet gefunden welcher aber einwandfrei funktionierte:

    stAppName = Programm & Chr(34) & Chr(34) & Chr(34) & pfad & Datei & Chr(34) & Chr(34) & Chr(34)

  • 0
    Visual Basic Programmzeilen deaktivieren ?
    Antwort von Schorge Schorge

    space ist eine "normale" taste.

    ich würde die "Umschaltung" über ctrl, shift, oder alt machen

    dazu den Keystate abfragen

  • 0
    Visual Basic Programmzeilen deaktivieren ?
    Hilfreichste Antwort von zirias zirias

    Deklariere eine Boolean Variable dafür, setze die entsprechend wenn jemand Space drückt, prüfe sie bei den anderen Tasten zusätzlich ...

    Wenn dir das nicht weiterhilft: zeig deinen Code.

    Kommentar von Sutzio2 Sutzio2

    Ok so ganz verstehe ich das nicht hier mal der code für Right:

     Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
            If e.KeyCode = Windows.Forms.Keys.Right Then
                If rl = 0 Then
                    PictureBox1.BackgroundImage = My.Resources.Rechteansicht
                    rl = 1
                    PictureBox1.Location = New Point(
                       PictureBox1.Location.X + 10,
                       PictureBox1.Location.Y)
                Else
                    PictureBox1.BackgroundImage = My.Resources.r_rechterfuß
                    rl = 0
                    PictureBox1.Location = New Point(
                        PictureBox1.Location.X + 10,
                        PictureBox1.Location.Y)
                End If
    

    So und nun will ich das wenn ich Space drücke dieser Code nicht mehr im Programm funktioniert also wie ein Timer abgeschaltet wird.

    Kommentar von zirias ziriaszirias

    irgendwo außerhalb

    Private Boolean _spacePressed = False
    

    dann

    If e.KeyCode = [foo .. Space] Then _spacePressed = True
    

    und irgendwo an passender Stelle

    If _spacePressed Then Return
    
    Kommentar von Sutzio2 Sutzio2

    Heyyy super danke hat geklappt :)

  • 0
    Visual Basic Programmzeilen deaktivieren ?
    Antwort von Wutklumpen Wutklumpen

    Sicher. Mach dir nen boolean für dein Space, prüfe in der Bewegungsmethode ob der boolean true/false ist, und reagiere dementsprechend darauf.

  • 0
    Visual Studio Problem !!!
    Antwort von Phiiill Phiiill

    Oh sorry hab selbst die Lösung gefunden

    Example.)

    If RadioButton1.Checked And CheckBox1.Checked = True Then BooksPictureBox.Visible = True MusicPictureBox.Visible = False PeriodicalsPictureBox.Visible = False CoffeeBarPictureBox.Visible = False

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Das ist aber umständlich gelöst. Die Auswertung der If-Anweisung ist bereits ein Boolean, den du auch direkt zum Zuweisen der Werte verwenden kannst.

    Dim flag As Boolean
    flag = RadioButton1.Checked AndAlso CheckBox1.Checked
    
    BooksPictureBox.Visible = flag
    MusicPictureBox.Visible = Not flag
    PeriodicalsPictureBox.Visible = Not flag
    CoffeeBarPictureBox.Visible = Not flag
    
  • 1
    Wie mache ich einen Zufallsgenerator in Visual Basic?
    Antwort von CrystalixXx CrystalixXx

    Eine Möglichkeit wäre mittels der Random-Klasse eine zufällige Ziffer (0-9) zu erstellen und innerhalb einer Schleife den Vorgang 18mal wiederholen. Die zufällige Ziffer jeweils mit der Text.StringBuilder Klasse oder den String-Methoden anfügen.

    Kommentar von jjjuno jjjuno

    Ööööhm

    Kommentar von CrystalixXx CrystalixXxCrystalixXx
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim rnd As New Random
        Dim result As String = String.Empty
    
        For i As Integer = 0 To 18
            result &= rnd.Next(0, 10).ToString
        Next
    
        TextBox1.Text = result
    End Sub
    
    Kommentar von Toraka TorakaToraka

    Na, das war doch klar, dass DU das schon wieder bist, der hier geantwortet hat.

    Pah, lässt mir nichts mehr übrig, was bist du gemein! ;-) Aber nein, nur ein Spaß, habe dir ja schon etwas dazu geschrieben.

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Na einer musste es ja tun. Obwohl ich mit der Kommentar "Ööööhm" nicht viel anfangen konnte. Vielleicht kann er dafür mit dem Code mehr anfangen.

    Kommentar von jjjuno jjjuno

    In der Tat :)

    Kommentar von CrystalixXx CrystalixXxCrystalixXx

    Hervorragend.

  • 0
    Online-Spiel mit Visual Basic 2010 programmieren?
    Antwort von supernicky supernicky

    Hallo,

    das geht und ist nicht schwer... jedoch wirst du um ein Buch nicht drumrum kommen.

    Schau mal in der gut sortierten Buchhandlung (je dicker das Buch, desto besser)...dort kannst du erstmal schauen ob deine Themen behandelt werden.

    Am besten programmierst du das Spiel erstmal "normal", dann hast du schonmal eine Grundlage.

    Viel Erfolg

    Nicky

  • 1
    Visual Basic Endlose Schleife Browser ?
    Antwort von CrystalixXx CrystalixXx

    Welcher Browser?

    Wenn du das WebBrowser-Control meinst, dann wirst du wohl das DocumentCompleted-Ereignis verwenden müssen. Darin kannst du einfach erneut die geladene Webseite mit der Navigate-Methode aufrufen lassen.

  • 0
    VBA: Wie bringe ich 2 Labels dazu, ein Ereignis zu machen wenn sie sich berühren?
    Antwort von Addi00 Addi00

    nene des macht man normalerweise mit rectangles:

    **if new rectangle(label1.left, label1.top, label1.width, label1.height).intersects(label2.left, label2.top, label2.width, label2.height) then

    end if**

  • 0
    Programm zum Kauf anbieten
    Antwort von Avialos Avialos

    Hey erd21,

    Weist du denn, wie du denen deine Updates zu senden willst?

    Da du bei Amazon Programme sowie MP3 Lieder schon downloaden kannst ( gegen Bezahlung, würde ich dir raten dich da auch schlau zu machen )

    Sonst eine eigene Homepage gestallten, und es da zum download anbieten... Via Paypal kann man dann einfach zahlen.. Jedoch wirst du da das Problem haben, dass deine Seite erstmal bekannt werden muss..

    Zum Urheberrecht

    Aus deiner Frage stelle ich fest, dass du der Entwickler des Spiels bist. Daher hast NUR DU das Urheberrecht.

    Hoffe konnte helfen

    Gruß

    Avialos

  • 0
    Programm zum Kauf anbieten
    Antwort von Tronskanne Tronskanne

    Was st das denn für ein Spiel !!?? XD

    Kommentar von erd21 erd21

    Es ist ein Spiel bei dem man mit einem Hammer einen sich bewegenden Kreis Hauen muss. Man kann sich Erweiterungen und Verzauberungen sowie hintergründe und mehr Gegner für Punkte kaufen. Das Bild im Kreis sowie die Schnelligkeit des Kreises kann man Verändern. Wird noch viel mehr geben, wie zum Beispiel Medaillen Mehrspieler und so weiter. Hat man das Spiel gekauft bekommt man einen Code. Beim Update des Spiels muss man diesen immer eingeben. Das Spiel kostet so maximal 1,99€.

    Kommentar von Toraka TorakaToraka

    Na supi! Ein sich bewegender Kreis, den man behämmern muss. Und du glaubst wirklich, da wird jemand nur einen Cent für ausgeben wollen? Verstehe das nicht falsch, ich möchte dich nicht blöd anmachen. Aber letztendlich war ich da auch mal so naiv wie du, und meinte, die Leute würden jeden Mist kaufen. Dem ist aber nicht so. Manches will man noch nicht mal haben, wenn man es geschenkt bekäme. Und ich vermute mal vorsichtig, das wird so ein Fall sein.

    Kommentar von Toraka TorakaToraka

    Caramba, die Zeit reichte nicht mehr.

    Versuche es doch in einer anderen Umgebung, und zwar für die mobile Telefonwelt. Hier ist der Anspruch, was Grafik betrifft, nicht ganz so hoch, es kommt mehr auf den Spaßfaktor an. Hier kann ich mir vorstellen, könntest du, wenn auch eher mäßig, einen Absatz finden.

Die unter gutefrage.net angebotenen Dienste und Ratgeber Inhalte werden nicht geprüft. Die Richtigkeit der Inhalte wird nicht gewährleistet. Rechtliche Hinweise finden Sie hier.