|
You last visited: Today at 07:33
Advertisement
Brauche hilfe bei Visual Basic 2010 !
Discussion on Brauche hilfe bei Visual Basic 2010 ! within the .NET Languages forum part of the Coders Den category.
08/19/2011, 14:17
|
#1
|
elite*gold: 0
Join Date: Mar 2011
Posts: 762
Received Thanks: 38
|
Brauche hilfe bei Visual Basic 2010 !
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 ?
Hoffe ihr könnt mir da helfen.
|
|
|
08/20/2011, 11:25
|
#2
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
|
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:
|
|
|
08/23/2011, 00:39
|
#3
|
elite*gold: 3085
Join Date: Aug 2011
Posts: 3,816
Received Thanks: 549
|
Fürs erste Problem würde ich einfach mit Hide arbeiten.
Allerdings muss man das Prog dann über den Taskmanager beenden.
|
|
|
08/23/2011, 02:56
|
#4
|
elite*gold: 1
Join Date: Aug 2011
Posts: 172
Received Thanks: 14
|
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
Code für das Tray Icon:
Code:
'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:
Code:
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:
MD5 : 0b8a76794b3336ae17f919a528661f5a
SHA1 : 8a1673f4a27c6bb61541686426694bc09283de4a
SHA256: 6604a8d72bba5d5dda88fc8be275ac7c4ac75f2ecc609032c9 895180df734702
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.
|
|
|
08/23/2011, 12:02
|
#5
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
|
@DiDaDrüben Das mit der Email ist nicht grad sicher, wenn die Daten einfachso da drinne stehen. Besser ein kleines PHP Script und WebRequest benutzen.
|
|
|
08/23/2011, 12:04
|
#6
|
elite*gold: 0
Join Date: Jul 2009
Posts: 109
Received Thanks: 8
|
kann dir helfen mit email hab selber so ein program kann dir source geben und das program selber als vorlage
|
|
|
08/23/2011, 13:09
|
#7
|
elite*gold: 1
Join Date: Aug 2011
Posts: 172
Received Thanks: 14
|
@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")
|
|
|
|
Similar Threads
|
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...
|
Visual Basic 2008, brauche Hilfe!
06/05/2011 - CrossFire - 6 Replies
Bin selbst drauf gekommen!
Kann #closed werden.
|
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"...
|
All times are GMT +2. The time now is 07:33.
|
|