vb 08


harisko

Grünschnabel
Hi leute hab ein problem will inen button machen der F2 einmal drückt und dann aufhört(also das der timer nur einmal reagiert)

will einen button mit dem man datei auf dem desktop öffnet

könntet ihr mir zeigen wie das geht bin noch ein anfänger =)
 
Zuletzt bearbeitet:

Steiner_B

Erfahrenes Mitglied
Vorweg: Nimm beim nächsten Mal bitte einen Titel wo man auch sieht was gebraucht wird.

Hi leute hab ein problem will inen button machen der F2 einmal drückt und dann aufhört(also das der timer nur einmal reagiert)
Button: Ist mir klar.
F2: Ich nehme an du willst das dem System ein Druck auf die F2-Taste vorgespielt wird?
Timer: k.A. wo der jetzt herkommt. Bis jetzt waren wir in einem Button, wozu brauchst du da einen Timer?

will einen button mit dem man datei auf dem desktop öffnet
Das musst du bitte genauer Spezifizieren. Am Desktop können viele Daten liegen, welche nimmst du dann. Ebenso die Frage was für dich öffnen bedeutet: willst du eine Stream zur Datei oder soll die Datei mit ihrem default-Programm aufgehen?
 

harisko

Grünschnabel
weis ich nicht wofür der timer dachte man braucht einen das mim button ist korekt also es wird gedrückt z.b. in einem programm oder was auch immer gibt es ein tastenkürzel das F2 is und wen F2 öfter gedrückt wird stürtzt das programm ab verstehst?

das mim öffnen soll normal geöffnet werde also wie doppelklick oder rechtsklick und dann öffnen wen du mich verstehst und nebenbei is eine java-datei odder programm
 
Zuletzt bearbeitet:

Steiner_B

Erfahrenes Mitglied
Hallo

Ich empfehle mal Google zu verwenden. Mit "VB simulate keydown" findet man z.B.: schon im 2. Beitrag ein Code-Example.

Dateien öffnen kannst du mit
Code:
System.Diagnostics.Process.Start
 

harisko

Grünschnabel
sry das mim SendKeys.Send("{F2}") hab ich net ganz verstanden

und das mim prozess starten kannste bitte den ganzen code aufschreiben =)

mim prozess muss ich das in einen button den code oder auf process tun? bin noch ein newbie =?
 
Zuletzt bearbeitet:

Steiner_B

Erfahrenes Mitglied
Visual Basic:
System.Diagnostics.Process.Start(@"D:\test.txt");
Startet dir die Datei D:\test.txt. Wenn du noch mehr dazu brauchst schau in der MSDN nach. Dort ist ein Beispiel wo fast alles was möglich ist gezeigt wird.
 

harisko

Grünschnabel
soll das so gehören?Hier is ein teil des codes

Code vb:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Process1.Start()
End Sub

Private Sub Process1_Exited(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Process1.Exited
System.Diagnostics.Process.Start("C:\Benutzer\BanaJoe\Desktop\")

End Sub
End Class
und nach \desktop kommt halt die datei
 

Steiner_B

Erfahrenes Mitglied
Was tut Procress1? Ich würds so probieren, hab aber grad kein VS bei der Hand.
Visual Basic:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
   System.Diagnostics.Process.Start("C:\Benuter\BanaJoe\Desktop");
End Sub
Was mir da grad auffällt: Ich würde den Pfad zum Desktop nicht statisch angeben, da z.B.: bei mir (Windows XP EN) der Pfad C:\Document and Settings\user\Desktop wäre. Unter Win7 wäre er C:\users\user\Desktop. Auch ist fraglich ob C immer die Systemplatte sein muss.

Edit: Du kannst VB-Code übrigends mit [ VB ] bzw. [ /VB ] (ohne Leerzeichen) posten.
 

harisko

Grünschnabel
wie soll ich den pfad sonst angeben?

Visual Basic:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        System.Diagnostics.Process.Start("C:\Benuter\BanaJoe\Desktop");
    End Sub
End Class
nach ("Dateipfad") ist ; das zeichen bei mir steht als fehler üngülitiges zeichen
 
Zuletzt bearbeitet:

Steiner_B

Erfahrenes Mitglied
Es sollte eine Systemvariable geben die USERPROFILE heißt. Dort steht der Ordner des Benutzers drin, d.h. du kannst als Pfad zum Destop "%USERPROFILE\Desktop" verwenden.
 

harisko

Grünschnabel
ok das mim starten is nicht so wichtig nun mein anderes problem

das mit F2 kannst mal pls code aufschreiben hab in google nichts gefunden
 

harisko

Grünschnabel
bei mir funktoniert das nicht


Visual Basic:
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        SendKeys.Send("{F2}")

    End Sub
 

harisko

Grünschnabel
nein nur wen ich den button klicke passiert nichts zb. ich mach ein textdokument auf und und klick drauf und nichts passiert
 

Steiner_B

Erfahrenes Mitglied
So ich hab das jetzt mal in C# probiert. Ich habe folgenden Code in einem Button stehen und der funktioniert:

C#:
Thread.Sleep(4000);
SendKeys.SendWait("{F2}");
System.Windows.MessageBox.Show("Done");
Aber bitte schau ein bisschen in die Doku. Dort hättest du gefunden dass du SendWait verwenden musst.
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge