Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tietokoneen sammutus

Thugcln [18.03.2006 03:04:02]

#

Olen itseasiassa jo kauan yrittänyt väsätä "ohjelmaa missä kun painaa command1 kone sammuu" kuitenkaan en ole onnistunut. Olen myös koittanut koodivinkkejä Tässä on muutamia esimerkkejä.

**Moduuli
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Enum Veks
    EWX_LOGOFF& = 0   'loggaa pois
    EWX_FORCE& = 4    'terminoi kaikki prosessit ja lokkaa pois
    EWX_REBOOT& = 2   'reboottaa
    EWX_SHUTDOWN& = 1 'sammuttaa
End Enum

Private Sub Poistu(Miten As Veks)

    If Miten <> 0 And Miten <> 1 And Miten <> 2 And Miten <> 4 Then Exit Sub 'varmistetaan että ollaan oikealla asialla
    ExitWindowsEx Miten, 0 'häivytään

End Sub

Private Sub Form_Load()

    Poistu EWX_SHUTDOWN 'elä aja ohjelmaa jos et halua sammuttaa konetta!

End Sub

Command1**
Poistu EWX_SHUTDOWN

Eipä vain ole toiminut.

Thugcln [18.03.2006 18:53:48]

#

Miksikohän ei toimi?

matpit [18.03.2006 21:01:34]

#

No, älä ny sentää tuplapostaile :D
Yritäppä googlettaa, löysin itsekin sieltä täysin toimivan esimerkin. Yksi virhe kuitenkin osui silmääni

ThugIn kirjoitti:

If Miten <> 0 And Miten <> 1 And Miten <> 2 And Miten <> 4 Then Exit Sub 'varmistetaan että ollaan oikealla asialla

Tua poistuu aliohjelmasta jos "Miten" ei ole yhtä aikaa 1 ja 2 ja 4, korvaa And Or:illa, silloin jos miten ei ole 0 tai ei ole 1 jne, google pelastaa päivän.

Edit: Niin, ja

ThugIn kirjoitti:

Private Sub Poistu(Miten As Veks)

Tuo toimii vain moduulissa koska se on Private, muuta se Public:iin ja

ThugIn kirjoitti:

Private Sub Form_Load()

Tuo ei liene moduulissa? :P

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta