PC herunterfahren, MsgBox Problem

  • VB6

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von yankeemay.

    PC herunterfahren, MsgBox Problem

    Also um es schon mal im Vorraus klarzustellen:

    Ich bin wahrscheinlich der größte Noob auf diesem Forum, trotzdem bitte ich euch, meine Frage zu beantworten tongue

    Also: Hab grad aus Fun ein kleines Prog geschrieben, mit dem der PC heruntergefahren wird und noch eine kleine MsgBox mit der Aufschrift
    "Loser! :-p" aufgehen soll, aber wenn ich das Programm öffne, poppen nur jede Millisekunde neue "Loser" MsgBoxen auf und der PC hat gar
    nich vor, herunterzufahren^^

    Hier der Code:
    (Habe 2 Timer benutzt, sodass der PC gleich herunterfährt, ohne dass die Person irgendwas dagegen bewirken kann :)

    Private Sub Timer1_Timer()
    Shell "shutdown.exe -f"
    End Sub

    Private Sub Timer3_Timer()
    If Timer1.Interval = 1 Then
    MsgBox "Loser! Hoffe des wird dir ne Lehre sein :-p"
    End If
    End Sub

    (Hab statt Timer1.Value Timer1.Interval benutzt, da das mit der Value nich so ganz bei mir funktionieren will :D)

    Also bitte helft mir ;)

    Grüße
    yankeemay
    naja, sry, aber....1: kindergarten
    2: sinn?

    keiner


    nun zum problem...du kannst nicht sagen, if timer3.intervall = 1

    denn der wert verändert sich niemals...intervall ist dazu da, um vb zu sagen, in so und so viel millisekunden sollst du dich wiederholen, steht intervall auf 1000, macht er das, was im timer steht, jede sekunde
    Sry, ich weiß, hab mal so en paar N00bhacks für Warrock (son ******game) erstellt, des wars au schon, wollte einfach mal en bisschen was ausprobiern -.-



    Edit by LaMa5:
    - bleib doch bitte sachlich!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Was soll die If Bedingung denn sein? Wen der Timer Tickt brauchst du doch keine Bedingung mehr. Zumal Interval ist das Einstellbare Interval wie schnell der Timer ticken soll.

    Wenn du da sInterval auf 1000 stellst dann tickt er alle Sekunde, wenn er nur einmal ausgeführt werden soll musst du ihn danach deaktivieren

    Visual Basic-Quellcode

    1. Private Sub Timer1_Timer()
    2. Shell "shutdown.exe -f"
    3. Timer1.Enabled = false
    4. End Sub
    5. Private Sub Timer3_Timer()
    6. MsgBox "Loser! Hoffe des wird dir ne Lehre sein :-p"
    7. Timer3.Enabled = False;
    8. End Sub


    Beim Timer1 stellst das Interval z.B. auf 100 und bei Timer2 auf 500 also wird der Shutdown befehl 100ms und die MsgBox 500ms nach starten ausgeführt.

    Wobei mir nicht klar ist was du machen willst, ein Virus Fake oder was?
    wie gesagt, den timer.intervall abzufragen ist schwachsinn, da er immer der selbe voreingestellte wert ist, und solange du ihn nicht änderst, bleibt er auch der selbe,und solltest du ihn ändern, ist es selbst dann wieder ein fester wert, der sich nicht ändert, ausser du sagst es zur laufzeit
    3. Wenn nur eine MsgBox kommen soll mußt du den Timer wieder ausschalten

    Visual Basic-Quellcode

    1. Private Sub Timer3_Timer()
    2. Me.Timer3.Enabled = False
    3. MsgBox "Loser! Hoffe des wird dir ne Lehre sein :-p"
    4. End Sub


    4. Wenn in der Zeit, in der die Msgbox angezeigt wird, das zweite Timer-Event kommen soll, mußt du entweder die API-MsgBox oder den API-Timer verwenden.
    Die VB-Msgbox blockiert nämlich den VB-Timer, dh solange eine VB-Msgbox geöffnet ist kommt kein VB-Timerevent.

    API-Msgbox

    Visual Basic-Quellcode

    1. Private Const MB_OK = &H0&
    2. Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
    3. Private Sub Timer3_Timer()
    4. Me.Timer3.Enabled = False
    5. MessageBox Me.hwnd, "Loser! Hoffe des wird dir ne Lehre sein :-p", Me.Caption, MB_OK
    6. End Sub

    API-Timer