Hallo, wie oben in dem Titel schon steht brauche ich hilfe bei Visual Basic 2010. Ich habe mir soweit schon ein Programm ein Minispiel gemacht. Nur habe ich momentan noch zwei probleme damit.
Erstes Problem
Ich brauch einen Code oder etwas in der art, was das Fenster im Hintergrund weiterlaufen lässt. Also sprich wenn ich bei meinem Spiel auf das " X " oder auf " Close " gehe das dieses Spiel im Hintergrund weiterläuft.
Zweites Problem
Ich hätte gerne in diesem Spiel ein Support eingebaut. Ich würde dieses Spiel gerne meinen Freunden schicken nur z.B. hatte einer ein problem damit, und ich hätte gerne dass wenn man beim Starten des Spiels alles Aktzeptiert, dass die Error's also die Fehlermeldung an mich geschickt werden. Geht sowas denn ?
1: Du gehst in das FormClosing-Event, brichst den Schließvorgang ab und minimierst das Fenster stattdessen:
PHP Code:
Private Sub frm_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing e.Cancel = True //Schließvorgang abbrechen Me.WindowState = FormWindowState.Minimized //minimieren End Sub
2: Also wenn du damit die Exceptions meinst wie "Der Index lag außerhalb des Arraybereichs." oder sowas, dann pack deine Codes in einen Try/Catch-Block und lass dir den Fehler z.B. per Email senden.
PHP Code:
Try //dein Code Catch ex As Exception //bei einem Fehler //entweder nun ex.ToString oder eine eigene Fehlermeldung hinschreiben End Try
Kannst aber auch eigene Exceptions erstellen, Google einfach mal nach "VB.NET Throw New Exception". Hier ist ein gutes Beispiel:
Ich würde da lieber ein Tray Icon machen (so ein Icon wie zB die Lautstärkeregelung). Dann müssen die Benutzer das Programm nicht im Taskmanager beenden.
Da ich nicht schlafen konnte, hab ich schnell ein paar Zeilen Code zusammengetipselt. Aber keine Angst ich hab alles nochmal durchgetestet und das Beispielprogramm funktioniert
'Mit dieser Klasse kannst du ein neues TrayIcon erstellen. Dieses Icon ist ganz rechts in der Taskleiste zu sehen (so wie zB deine Lautstärkeregelung).
'So können deine Benutzer/Spieler das Spiel beenden ohne den Taskmanager zu öffnen.
Public Class TrayIcon
Inherits ApplicationContext
Private WithEvents Tray As NotifyIcon 'Das Tray-Icon
Private WithEvents TrayMenu As ContextMenuStrip 'Menü für das Tray-Icon
Private WithEvents mnuRestore As ToolStripMenuItem 'Menüeintrag zum Wiederherstellen des Fensters
Private WithEvents mnuSupport As ToolStripMenuItem 'Menüeintrag für den Support-Dialog
Private WithEvents sepSeparator As ToolStripSeparator 'Ein Platzhalter zwischen den beiden Einträgen oben und dem folgenden
Private WithEvents mnuExit As ToolStripMenuItem 'Menüeintrag zum Beenden des Spiels
Private WithEvents restoreForm As Form 'Variable zum Zwischenspeichern unseres Programmfensters, damit wir es wiederherstellen können
Public Sub New(ByVal form As Form)
restoreForm = form
'Wir erstellen zuerst ein Menü mit drei Einträgen und einem Abstandhalter für das Tray Icon
mnuRestore = New ToolStripMenuItem("Spiel anzeigen")
mnuSupport = New ToolStripMenuItem("Fehler melden")
sepSeparator = New ToolStripSeparator()
mnuExit = New ToolStripMenuItem("Spiel beenden")
TrayMenu = New ContextMenuStrip
TrayMenu.Items.AddRange(New ToolStripItem() {mnuRestore, mnuSupport, sepSeparator, mnuExit})
'Jetzt geben wir dem Tray-Icon noch eine Beschriftung und ein Bild
Tray = New NotifyIcon
Tray.Icon = My.Resources.Home 'Resourcen (zB Bilder) kannst du hinzufügen indem du auf das Projekt rechtsklickst und Eigenschaften auswählst
Tray.ContextMenuStrip = TrayMenu 'Das oben erstellte Menü wird angezeigt, wenn wir einmal auf das Tray Icon klicken
Tray.Text = "[HIER TITEL DES PROGRAMMS EINGEBEN]"
'Tray-Icon anzeigen
Tray.Visible = True
End Sub
Private Sub ShowWindow()
restoreForm.Show()
End Sub
Private Sub TrayIcon_ThreadExit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ThreadExit
'Das icon soll gleich verschwinden, wenn das Programm beendet wird (sonst bleibt es bestehen bis man mit der Maus darüberfährt)
Tray.Visible = False
End Sub
Private Sub mnuExit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuExit.Click
restoreForm.Dispose()
Application.Exit()
End Sub
Private Sub mnuRestore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuRestore.Click
ShowWindow() 'Fenster wieder anzeigen
End Sub
Private Sub mnuSupport_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuSupport.Click
End Sub
Private Sub Tray_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tray.DoubleClick
ShowWindow() 'Fenster wieder anzeigen, wenn der Benutzer doppelt auf das Tray-Icon klickt
End Sub
End Class
Aufruf:
Code:
'Tray Icon erstellen und anzeigen (siehe Klasse TrayIcon)
Tray = New TrayIcon(Me)
Du kannst von Visual Basic aus jederzeit eine Email an dich selbst versenden.
Code für den Email Versand:
Try
Dim email As New Net.Mail.MailMessage("DEINE EMAIL ADRESSE", "DEINE EMAIL ADRESSE")
email.Subject = "Fehlermeldung von " + txtName.Text
email.IsBodyHtml = False 'Es reicht eine einfache Text-Email
email.Body = txtError.Text
'Die Email wird über deinen eigenen E-Mail Anbieter versendet. Dazu brauchst du noch die SMTP Adresse des Email-Servers
Dim smtpClient As New SmtpClient("ADRESSE DES SERVER DEINES EMAILANBIETERS ZB MAIL.GMX.NET", 25) '
smtpClient.Credentials = New Net.NetworkCredential("DEIN EMAIL BENUTZERNAME", "DEIN EMAIL PASSWORT")
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network
smtpClient.Send(email)
MsgBox("Die Fehlermeldung wurde an den Entwickler gesendet!")
Me.Dispose()
Catch ex As Exception
MsgBox("Die Fehlermeldung konnte nicht gesendet werden: " + ex.Message)
End Try
Hier nochmal der ganze Code als Visual Studio 2010 Projekt:
Link zum VirusTotal Test, da ich ja noch nicht so lange dabei bin:
Ich würde dir aber empfehlen gleich C#.NET zu lernen. Das ist nicht so viel schwieriger, aber du kannst es später eher brauchen, wenn du in C++ oder Java programmieren möchtest.
@xKraizy Ja ich weiß, dass das unsicher ist, aber das Programm soll ja nur an Freunde gesendet werden. Da hätte ich vielleicht explizit darauf hinweisen sollen. Hatte ich um 02:00 auch vor aber bis 03:00 vergessen. Idealerweise hat man dann eine E-Mail Server Komponente, die man mit Key/Hash anspricht (aber das ist ja glaub ich hier zu "Advanced")
Visual Basic 2010, Brauche dringend Hilfe! 08/03/2011 - .NET Languages - 5 Replies Hi Community, ich hab über Visual Basic ein Programm erstellt, ein Musik Player, mit 5 verschiedenen Online Radios, Technobase, Hardbase,...., jetzt ist das problem, ich kann das programm starten, solange es im Debug ordner ist, sobald ich es auf den Desktop ziehe/kopiere geht es nicht, kommt irgend ein Windows error, ich musste ein Verknüpfung erstellen, die auf den Desktop ziehen, danach hats funktioniert. Wie will ich das jetzt aber machen, wenn ich das z.B kollegen schicken will, die...
Brauche hilfe bei Visual Basic 2008 .dll Injector 01/20/2011 - Technical Support - 2 Replies Moin , ich habe einen .dll injector gemacht der einen hack in hl2.exe injected.
Das geht auch auf meinem anderen pc mit Windoof 7 -->32 Bit<--
alles injectet und ich hacke los
aber auf meinem neuen pc mit Windoof 7 -->64 Bit<-- geht es nicht..
das fenster geht zwar weg, aber ingame funzt nicht.
Hier der Source-Code:
[Visual Basic 2010] Senden Hilfe! 09/06/2010 - .NET Languages - 2 Replies Hallo elitepvpers,
Ich habe vor kurzer zeit ein Kleines Programm gemacht, nur eine Sache bekomme ich net gebacken.
Hier ein Bild von mein Programm.
http://a.imageshack.us/img534/2686/helpmed.png
Ich will das es so abläuft:
Der Erstellte Text in der TextBox7 soll zum Text in der RichtextBox1 hinzugefügt werden in die zeile z.B. 20. Das Soll betätigt werden wenn man den Button "Senden" drückt.
Vllt könnt ihr mir einen Code dazu geben. und mir den Code erklären.
Ich hoffe ihr könnt mir...
[Brauche Hilfe]Visual Basic Memory Write 04/17/2010 - .NET Languages - 15 Replies Also wie im Titel schon erwähnt wurde brauche ich hilfe bei memory write in vb.
Die Tuts die hier bei EPvp sind bringen mir nicht den da kommen immer fehler...
Public Class Form1
Public Declare Function ReadProcessMemory Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Declare Function WriteProcessMemory Lib "kernel32"...