Gå til innhold

Hjelp, min første app.


Anbefalte innlegg

Videoannonse
Annonse

Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long

Option Explicit

 

Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long

 

Dim m_blnInput As Boolean

 

Private Sub ChangeInput()

   

    m_blnInput = Not m_blnInput

   

    BlockInput m_blnInput

   

End Sub

 

Edit: Lurt å nevne at maskinen kan låses opp ved å trykke CTRL-ALT-DEL.

Endret av Jonas
Lenke til kommentar

I vb 6:

 

Private Declare Function BlockInput Lib "user32" (ByVal fBlock As Long) As Long

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

 

 

Private Sub Command1_Click()

DoEvents

'Lås mus og tastatur

BlockInput True

'Vent 20 sekunder

Sleep 20000

'Lås opp mus og tastatur

BlockInput False

End Sub

Lenke til kommentar

Takk for svar :)

Nå trenger jeg hjelp med en ny ting, hvordan kjører man en vanlig ledetekst kommando i vb? Jeg er helt ny innenfor scripting :D

Setter stor pris på all hjelp jeg kan få :!:

Endret av pcbygger91
Lenke til kommentar

!Jeg har sett skrivefeilen, jeg fikser på det senere :thumbup: !

shutdown_tool_01.jpg

Min første applikasjon :innocent:

Kan noen hjelpe meg med å gjøre det slik at jeg kan stille på hvor lang tid det skal ta å slå den av?

 

Public Class Form1

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Shell("shutdown -s -t 1800")
   End Sub

   Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       Shell("shutdown -a")
   End Sub
End Class

Endret av pcbygger91
Lenke til kommentar
Den gir deg bruker-input, slik at man feks. kan stille inn en timer.

Har du et eksempel på en slik kode? Er ikke helt sikker på hvordan man bruker den :(

8014225[/snapback]

I ditt tilfelle ville koden bli noenlunde som følger (plasseres under Button1_Click):

' Be brukeren om inndata

Dim iTime As Integer, sTime As String = InputBox("Skriv inn ønsket " & _

" tidsintervall til maskinen avsluttes.")

 

' Unnlat å utføre operasjonen dersom inndataboksen ble kansellert

If Integer.TryParse(sTime, iTime) Then

    ' Dersom du har VB.NET 2.0, bør du erstatte Integer med UInteger.

    Shell ("shutdown -s -t " & iTime)

End If

Jeg tror dog det er fordelaktig at du benytter en annen inndatametode, eksempelvis via en tekstboks. Da kan du lettere legge til flere funksjoner, og brukeren slipper å måtte taste inn en verdi (skjønt, du kan legge til en standardverdi til inndataboksen òg). Legg til en tekstboks og endre koden til følgende:

Dim iTime As Integer

 

' Unnlat å utføre operasjonen dersom tekstboksens verdi er ugyldig

If Integer.TryParse(TextBox1.Text, iTime) Then

    Shell ("shutdown -s -t " & iTime)

End If

Endret av aadnk
Lenke til kommentar

Takk for et fyldig svar aadnk! :):thumbup:

Men jeg tenkte mer på å bruke en timer? så jeg slipper det popupvinduet.

Der med å bruke en track bar for å velge hvor lang tid det skal ta før den slår seg av.

 

shutdown_tool_07.jpg

Slik ser den ut nå.

Lenke til kommentar

Legg først til følgende (enten i klassen til formen eller i en egen klasse), slik at du slipper å måtte bry deg om å bygge opp kommandoen. Dette fungerer også som en abstraksjon fra kommandolinjen, hvilket gjør det mulig og enkelt å bytte metode (f.eks. til ExitWindowsEx eller WMI) ved en senere anledning.

' Inneholder de ulike handlinger vi kan utføre

Public Enum Actions

    Abort = 0

    Shutdown = 1

    Restart = 2

    LogOff = 3

End Enum

 

' NB: Implementerer ikke "reason code" (se shutdown /?)

Public Sub Shutdown(ByVal Action As Actions, Optional ByVal TimeOut As Integer = -1, _

Optional ByVal Force As Boolean = False, Optional ByVal Comment As String = "")

 

    ' Initialiser kommandoen vi skal sende

    Dim oCommand As New System.Text.StringBuilder("shutdown ")

 

    ' Fortell hvilken handling som skal utføres ved å legge til den første

    ' bokstaven i handlingskonstanten.

    oCommand.Append ("-" & Action.ToString.ToLower.Substring(0, 1) & " ")

 

    ' Legger til de ulike paramenterene om de er gyldige

    If TimeOut >= 0 Then : oCommand.Append ("-t " & TimeOut & " "): End If

    If Comment.Length > 0 Then : oCommand.Append ("-c """ & Comment & """" & " "): End If

    If Force Then : oCommand.Append ("-f "): End If

 

    ' Kjører kommandoen

    Shell (oCommand.ToString)

 

End Sub

 

Public Sub Shutdown()

    ' Viser standard-brukergrensesnittet

    Shell ("shutdown -i")

End Sub

Legg til en Timer til formen og legg til følgende kode (fjern prosedyrene Button1_Click og Button2_Click først):

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

    ' Henter hvor lenge vi skal vente med å avslutte maskinen

    Dim iTimeOut As Integer = TrackBar1.Value

 

    ' Initialiserer timer og progresjonsbar

    Timer1.Interval = 1000 ' ms

    Timer1.Enabled = True

    ProgressBar1.Value = 0

    ProgressBar1.Maximum = iTimeOut

 

End Sub

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

 

    ' Øk progresjonsbaren

    ProgressBar1.Increment (1)

 

    ' Dersom vi har nådd enden, ...

    If ProgressBar1.Value = ProgressBar1.Maximum Then

        ' ... avslutter vi maskinen.

        Shutdown(Actions.Shutdown, , True)

    End If

 

End Sub

 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

 

    ' Skru av timer og tilbakesett progresjonsbar

    ProgressBar1.Value = 0

    Timer1.Enabled = False

 

    ' Avbryt avslutning for "good measures". Mulig dette har svært lite å si

    ' og er følgelig unødvendig.

    Shutdown (Actions.Abort)

 

End Sub

Endret av aadnk
Lenke til kommentar

Public Class Form1

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If CheckBox1.Checked = False Then
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 30")
       End If
       If CheckBox2.Checked Then
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 60")
       End If
       If CheckBox3.Checked Then
           CheckBox2.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 90")
       End If
       If CheckBox4.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 120")
       End If
       If CheckBox5.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 150")
       End If
       If CheckBox6.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 180")
       End If
       If CheckBox7.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 210")
       End If
       If CheckBox8.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox9.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 240")
       End If
       If CheckBox9.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox10.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 270")
       End If
       If CheckBox10.Checked Then
           CheckBox2.Checked = False
           CheckBox3.Checked = False
           CheckBox4.Checked = False
           CheckBox5.Checked = False
           CheckBox6.Checked = False
           CheckBox7.Checked = False
           CheckBox8.Checked = False
           CheckBox9.Checked = False
           MsgBox("You clicked 'Shutdown -?', your computer will now be shut down by your specified time. Please stand by...")
           Shell("shutdown -s -t 300")
       End If
       If CheckBox1.Checked Then
           MsgBox("You clicked 'Shutdown -?' when the 'Abort' checkbox was checked, the operating shutdown will now abort...")
           Shell("shutdown -a")
       End If
   End Sub

Her er koden min til nå, den andre du postet aadnk var litt vanskelig å ta til seg. Så jeg tar det heller step by step ved å følge tutorials hos microsoft.

Nå har jeg da et problem, jeg hadde tenkt til å lage scriptet slik at hvis jeg check'a en checkbox så ville den andre som var checked bli blank, hvis du skjønner hva jeg mener. Kan noen fortelle hva jeg har gjort galt her?

Lenke til kommentar
Nå har jeg da et problem, jeg hadde tenkt til å lage scriptet slik at hvis jeg check'a en checkbox så ville den andre som var checked bli blank, hvis du skjønner hva jeg mener. Kan noen fortelle hva jeg har gjort galt her?

8023025[/snapback]

Bruk RadioButton-kontrollen:

If RadioButton1.Checked Then

    MessageBox.Show("Den første sjekkboksen er markert.")

ElseIf RadioButton2.Checked Then

    MessageBox.Show("Den andre sjekkboksen er markert.")

Else

    MessageBox.Show("Den tredje sjekkboksen er markert.")

End If

Lenke til kommentar
Edit: Hvordan lage scrollbar?

8024698[/snapback]

Det kommer an på hva du skal bruke det til, men jeg vil tro du ønsker å gjøre selve formen "scrollable" når kontroller kommer utenfor dens rammer. Det kan du oppnå ved å sette AutoScroll-egenskapen til True.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...