Naar aanleiding van wat informatie verschaft door alt-29 in dit topic post ik hier.
Kort samengevat: ik probeer via Windows XP Shutdown scripts een VBScript uit te voeren die controlleert of iemand verbonden is met de PC. Dit is wat ik heb tot nu toe:
Zoals je kan zien mist in deze (vast niet efficiënte code
) de manier van het afbreken van de afsluitprocedure. Na uitgebreid googlen kwam ik uit op deze thread op vbforums.com waarin over dit onderwerp gesproken wordt. De post van marcjack is ook van mij (BugMeNot account
), maar het kan geen kwaad het op twee verschillende fora te vragen. De code van dat forum waar ik een vraag over heb is het volgende:
De vraag is nu hoe ik deze code die daar in een van de laatste posts staat in mijn code kan gebruiken. Kan iemand mij hiermee helpen?
Kort samengevat: ik probeer via Windows XP Shutdown scripts een VBScript uit te voeren die controlleert of iemand verbonden is met de PC. Dit is wat ik heb tot nu toe:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| Set objConnection = GetObject("WinNT://./LanmanServer") Set colSessions = objConnection.Sessions If (IsEmpty(colSessions) = False) Then pctjes = "" For Each objSession in colSessions pctjes = pctjes & objSession.Computer Next pctjes = pctjes & " is verbonden met deze computer. Wilt u het afsluiten onderbreken?" & VbCrLf & "Na 10 seconden wordt het afsluiten automatisch onderbroken." Set objShell = CreateObject("Wscript.Shell") intReturn = objShell.Popup(pctjes, 10, "Afsluiten onderbreken", 4 + 48) Select Case intReturn case 6 Msgbox "Het afsluiten wordt afgebroken." ' Afbreken afsluitprocedure op een of andere manier Msgbox "Afsluiten onderbroken" case -1 Msgbox "De 10 seconden zijn voorbij!" & VbCrLf & "Het afsluiten wordt nu afgebroken." ' Afbreken afsluitprocedure op een of andere manier Msgbox "Afsluiten onderbroken" End Select End If |
Zoals je kan zien mist in deze (vast niet efficiënte code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| 'constants needed, form level Private Const WM_QUERYENDSESSION As System.Int32 = &H11 Private Const WM_CANCELMODE As System.Int32 = &H1F 'the sub to intercept the windows messages Protected Overrides Sub WndProc(ByRef ex As Message) If ex.Msg = WM_QUERYENDSESSION Then 'cancel the message Dim MyMsg As New Message MyMsg.Msg = WM_CANCELMODE MyBase.WndProc(MyMsg) Else 'send the message as normal MyBase.WndProc(ex) End If End Sub |
De vraag is nu hoe ik deze code die daar in een van de laatste posts staat in mijn code kan gebruiken. Kan iemand mij hiermee helpen?
[ Voor 3% gewijzigd door MediQ op 20-12-2007 20:48 ]