1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

VB 2010 Express: diverse Fragen

Discussion in 'Programmieren' started by Soxx, Jan 3, 2011.

Thread Status:
Not open for further replies.
  1. Soxx

    Soxx Byte

    ahhh danke dir,

    da ich jetzt weiß wie ich bilder in die picturebox kriege wird mein "mühle spiel" weiter gehen :D.

    wenns hier nen Thanks butten geben würde hätt ich den schon Hunderte male gedrückt :P


    und mal wieder tausend fragen an die script gemeinde:

    nein spaß nur eine :D

    Kann man unter VB ein script schreiben bei dem man zB Strg+1 drück und sich somit der Arbeitsplatz öffnet??


    Lg
    Soxx
     
  2. VB-Coder

    VB-Coder Megabyte

    Wie ich schon sagte, man kann fast alles ;-)

    Code:
    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
            If e.Control And e.KeyCode = Keys.D1 Then
                Shell("explorer.exe ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}")
            End If
        End Sub
    
     
  3. Soxx

    Soxx Byte

    ja das sagtest du. erstmal danke :D

    nur....wie müsste ich das nun verfassen um eigene Programme so zu starten?

    und funktioniert das auch wenn Form1 dann minimiert ist?
     
  4. VB-Coder

    VB-Coder Megabyte

    Um eigene Programme zu starten müsstest du nur die Shell Anweißung entsprechend abändern.

    Das ganze funktioniert nur, wenn die Form auch den aktuellen Fokus besitzt, sprich wenn sie das aktive Fenster ist.

    Wenn du das ganze Systemweit nutzen willst, dann schau mal in folgenden Thread, da habe ich schonmal weas dazu geschrieben.

    http://www.pcwelt.de/forum/programm...druck-registrieren-dann-aktion-ausf-hren.html
     
  5. Soxx

    Soxx Byte

    ahhh perfekt, das funktioniert super....wenn nur eine taste gedrückt werden soll um ein programm zu starten =/

    wenn aber zB strg+1 gedrückt werden soll funktioniert das bislang bei mir nicht....hier der code:
    Code:
    RegisterHotKey(Me.Handle, 5, Key_NONE, Keys.LControlKey And Keys.D1)
    Hab beim CaseSelect und bei der Sub FormClosing auch je das dazu gehörige mit 5 geschrieben =/

    wo ist mein fehler??


    Lg
     
  6. VB-Coder

    VB-Coder Megabyte

    Wenn du das ganze mit Tastenkombinationen haben willst, dann such folgende Zeilen:

    Code:
    Private Const Key_NONE As Integer = &H0
    Private Const WM_HOTKEY As Integer = &H312
    
    und ergänze darunter folgende Zeilen:

    Code:
    Public Const MOD_ALT = &H1
    Public Const MOD_CONTROL = &H2
    Public Const MOD_SHIFT = &H4
    
    Dann kannst du für die Tastenkombination ALT + H z.b. folgenden Code nutzen

    Code:
    RegisterHotKey(Me.Handle, 1, MOD_ALT, Keys.H)
    für STRG + G dann z.B. diesen

    Code:
    RegisterHotKey(Me.Handle, 1, MOD_CONTROL, Keys.G)
    für Uschalt + A z.B. den hier:

    Code:
    RegisterHotKey(Me.Handle, 1, MOD_SHIFT, Keys.A)

    Ich hoffe der Aufbau erklärt sich daraus.
     
  7. Soxx

    Soxx Byte

    yeah super, gleich mal ausprobieren :D

    *1000x den imagieneren Thanks-Button drücken :D*
     
  8. Soxx

    Soxx Byte

    und gleich wieder paar ideen für das HotKey-Programm ..... nur kein plan fürs umsetzen >.<

    also:

    möchte absofort mit Textboxen arbeiten (das ständige überarbeiten nervt) sprich:

    Textbox1.Text = "Notepad.exe"

    und wenn nun zB strg+1 gedrückt wird soll es ganz normal ausgefüht werden.

    (script teil fürs ausführen reicht mir ;) )

    desweiteren:

    soll dann natürlich die eingabe in den Textboxen gespeicht werden (auch nach dem schließen der anwendung) möglich???


    Lg
    Soxx
     
  9. VB-Coder

    VB-Coder Megabyte

    zum ersten Problem:

    hast du mal folgendes versucht :

    Code:
    shell(TextBox1.Text)
    Damit wird dann genau das als Befehl ausgeführt, was in der Textbox steht.




    zum zweiten Problem:

    Ja man kann die Werte speichern.
    Entweder in einer normalen Textdatei, in einer ini Datei, oder in der Registry von Windows, oder in einer Datenbank etc. etc.
    Welche Methode man bevorzugen sollte, hängt von der Anzahl der Textboxen und somit vorhandenen Einträge ab. Am besten ist sicherlich noch die Methode, dass man die Registry benutzt und dort die Daten ablegt und abruft. Wenn es allerdings nur um 2 - 3 Einträge geht, die man auch mal schnell so bearbeiten möchte, dann empfiehlt sich das einfache speichern in einer Text oder ini Datei.



    PS: VB 2010 ist eine Programmiersprache und keine Scriptsprache. Also bitte gewöhne dir das "Script" gequatsche ab. Mir dreht sich immer das Magengeschwür um, wenn ich Script in so einer Kombination lese. ;-)
     
  10. Soxx

    Soxx Byte

    ahhh okay

    1. problemchen werd ich gleich mal lösen :D:D:D

    zum 2.: es handelt sich im moment wenn um 20 Textboxen (10 Programme/ 10 Spiele)

    Lg

    PS: Ich liebe die Programmiersprache VB :D ;)
     
  11. VB-Coder

    VB-Coder Megabyte

    Versuchs mal mit der Lösung das ganze als normale Textdatei zu speichern.

    Das ganze könnte dann in etwa so aussehen:

    Code:
    Imports System.IO
    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Daten_lesen()
        End Sub
    
    
        Private Sub Daten_lesen()
            Dim config() As String = IO.File.ReadAllLines("d:\config.txt")
            TextBox1.Text = config(0)
            TextBox2.Text = config(1)
            TextBox3.Text = config(2)
            TextBox4.Text = config(3)
            TextBox5.Text = config(4)
    
        End Sub
    
        Private Sub Daten_schreiben()
            Dim config As StreamWriter = My.Computer.FileSystem.OpenTextFileWriter("d:\config.txt", False)
            config.WriteLine(TextBox1.Text)
            config.WriteLine(TextBox2.Text)
            config.WriteLine(TextBox3.Text)
            config.WriteLine(TextBox4.Text)
            config.WriteLine(TextBox5.Text)
            config.Close()
        End Sub
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Daten_schreiben()
        End Sub
    End Class
    

    Wie du siehst habe ich mein Beispiel auf 5 Textboxen reduziert. Zudem gibt es bei mir einen "speichern" Button, über den die Daten aus der Textbox in die Textdatei d:\config.txt gespeichert werden. Eingelesen werden die Daten automatisch beim laden der Form.


    Das ist die einfachste Möglichkeit. Nicht die Eleganteste, aber es funktioniert.
     
  12. Soxx

    Soxx Byte

    okay klingt gut :D

    also einfach normal jetzt in den bestehenden programmcode einfügen?

    bei änderungen überschreibt sich die config.txt dann einfach??

    könnte man das auch inerhalb des programms speichern lassen?? (dort ist doch auch ein Txt dokument einfügbar)



    Lg und vielen dank bist echt ne große hilfe

    Soxx
     
  13. VB-Coder

    VB-Coder Megabyte

    Schau dir den Aufbau an und passe das ganze an deine Bedürfnisse an.
    Sprich also, erweitere es um ggf. fehlende Textboxen und passe den Pfad zur Textdatei an.

    Die Textdatei wird bei jedem Aufruf der Funktion Daten_schreiben() neu geschrieben / überschrieben.

    Innerhalb des Programms kannst du nichts speichern lassen. Es wird IMMER in externen Datenquellen gespeichert.
     
  14. Soxx

    Soxx Byte

    oki doki,

    danke dir ;)
     
  15. Soxx

    Soxx Byte

    Stündlich grüßt das Murmeltier,

    eine allgemeine frage zu VB 2010,

    gibt es eine möglichkeit die mit VB2010 erstellten Programme ohne .NetlFramework4.0 auszuführen??? sprich mit einer "älteren" version von Framework? am besten 2.0, da dies die meisten rechner besitzen bzw dies nur noch meines wissen bei winXP seperat installiert werden muss


    Lg
    Soxx
     
  16. VB-Coder

    VB-Coder Megabyte

    Projekt -> WindowsApplication1 Eigenschaften
    Kompilieren -> Erweiterte Kompilierungsoptionen

    Dann hast du ganz unten eine Dropdown Liste "Zielframework"
    Hier kannst du einstellen, welche Version des .net Framework verwendet werden soll.
     
  17. Soxx

    Soxx Byte

    Ich meld mich auch mal wieder :D

    Also das mit dem Ziel-Framework ändern hat irgendwie nicht hingehauen...Projekt wurde danach nicht mehr geladen =/

    naja, zu etwas anderem:

    Beim drücken der F1-Taste sollen nach einander andere Tasten "gedrückt" werden z.B. erst A und danach B (nicht als Wort o.ä.)


    Lg
    Soxx
     
  18. VB-Coder

    VB-Coder Megabyte

    Schau dir mal die Funktion SendKeys an.

    Mit SendKeys.Send("A") kannst du z.B. den Buchstaben A ausgeben/drücken lassen.
     
  19. Soxx

    Soxx Byte

    Halli hallo,

    mal wieder ein paar fragen zjm programmier altag ;)

    1. wie kann ich eine Scrollbar in einer Textbox einbinden so das die box scrollbar wird (was ne wort wahl >.<)

    2. wie schaut der SendKeys - befehl mit tasten wie Enter und BackSpace aus?
     
  20. VB-Coder

    VB-Coder Megabyte

    1. indem du im Eigenschaftsfenster der Textbox diese auf: Multiline = True und Scrollbars = Both stellst. Damit erhält die Textbox bei Bedarf aut. Scrollbars.

    2. {ENTER} und {BACKSPACE}
    PS: http://www.vbarchiv.net/commands/cmd_sendkeys.html ... als Hilfe am Rande
     
Thread Status:
Not open for further replies.

Share This Page