cdrom speler automatisch laten openen op tijd

Pagina: 1
Acties:
  • 171 views sinds 30-01-2008

  • lmno31
  • Registratie: Maart 2003
  • Laatst online: 30-01 19:08
Goeie dag allemaal,

Dit is mijn eerste topic dus ik hoop dat ik het goed doe.

Mijn collega gaat binnenkort trouwen en de dag daarvoor willen we met collega's om niet te vergeten maken. Het doel is om hem de heledag bezig te houden zonder dat hij met zijn werk bezig is.

Nu is mijn vraag, is er een programma/manier om zijn cdromspeler eens per 10 minuten/kwartier open te laten gaan?

Alvast bedankt

Verwijderd

maak een nieuw tekstbestand aan b.v. foo.txt

copy de volgende tekst erin

\\begin dit niet mee kopieeren

Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
if colCDROMs.Count >= 1 then
For i = 0 to colCDROMs.Count - 1
colCDROMs.Item(i).Eject
Next
End If

\\eind dit niet mee kopieeren

en rename het foo.txt bestand naar foo.vbs

Als je dit om de 10 minuten wil laten plaatsvinden dan zou je in windows scheduler kunnen aangeven dat je wil dat dit bestand foo.vbs om de 10 minuten gestart moet worden.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 07-02 09:48

TrailBlazer

Karnemelk FTW

schakel al jullie telefoons naar hem door blijft hij doorverbinden

Verwijderd

Inderdaad maar als hij hem nu niet dichtdoet ivm een pauze ofzo ? Of gewoon loslaat staan. Dan werkt het al niet meer. Mischien is het slim om hem automatisch ook weer dicht te laten gaan ofzo.

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Dim oWMP 
Dim colCDROMs, i 
Set oWMP = CreateObject("WMPlayer.OCX.7") 
Set colCDROMs = oWMP.cdromCollection 
if colCDROMs.Count >= 1 then 
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
End If 
oWMP.close 
Set colCDROMs = Nothing 
Set oWMP = Nothing

Bron : http://groups.msn.com/win...ified=4675512734919595299

  • lmno31
  • Registratie: Maart 2003
  • Laatst online: 30-01 19:08
Ik wist niet dat het simpel was.

Kan ik ook zeg maar 10 seconden wachten totdat hij weer dicht gaat?

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Dim oWMP 
Dim colCDROMs, i 
Set oWMP = CreateObject("WMPlayer.OCX.7") 
Set colCDROMs = oWMP.cdromCollection 
if colCDROMs.Count >= 1 then 
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
WScript.Sleep SetTimer()
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
End If 
oWMP.close 
Set colCDROMs = Nothing 
Set oWMP = Nothing

Function SetTimer()
 Dim MinSpec
 Minspec = 10
 SetTimer = (MinSpec - 1) * 1000
End Function


Vet :o
Ik heb nog nooit in VBScript geprogrammeerd... Dit was alleen google werk met een minimale .NET, QuickBasic en Delphi kennis. Waarschijnlijk is het weliswaar zo inefficient als het kan, omdat ik de logica niet goed ken. Maar het werkt wel.

Waar nu Minspec = 10 staat is 10 het aantal secondes. Hehe, kan ook een random waarde worden... Ik ga alvast zoeken :9

Nieuwe versie :

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
29
Dim oWMP 
Dim colCDROMs, i 
Dim Wait
Set oWMP = CreateObject("WMPlayer.OCX.7") 
Set colCDROMs = oWMP.cdromCollection 


if colCDROMs.Count >= 1 then 
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next
WScript.Sleep SetTimer()
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
End If 
oWMP.close 
Set colCDROMs = Nothing 
Set oWMP = Nothing

Function SetTimer()
 Random()
 SetTimer = (Wait - 1) * 1000
End Function

Function Random()
 Randomize
 Wait = Int(10 * Rnd())
End Function


Zo, een beetje aangepast. Nu is ie dus random. Nu wordt er een tijd gekozen tussen de 0 en 10 secondes voordat de cd-lades weer dicht gaat.


Oke, nog een. Deze zal je collega helemaal gek maken. Nu dus met een loop :
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
29
30
31
32
Do
Dim oWMP 
Dim colCDROMs, i 
Dim Wait
Set oWMP = CreateObject("WMPlayer.OCX.7") 
Set colCDROMs = oWMP.cdromCollection 


if colCDROMs.Count >= 1 then 
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next
WScript.Sleep SetTimer(10)
For i = 0 to colCDROMs.Count - 1 
colCDROMs.Item(i).Eject 
Next 
End If 
oWMP.close 
Set colCDROMs = Nothing 
Set oWMP = Nothing
WScript.Sleep SetTimer(20)
Loop Until 1 > 2

Function SetTimer(a)
 Random(a)
 SetTimer = (Wait - 1) * 1000
End Function

Function Random(a)
 Randomize
 Wait = Int(a * Rnd())
End Function


Om de maximaal 20 seconde WScript.Sleep SetTimer(20) gaat de CD-lade's open. En om de maximaal 10 seconde WScript.Sleep SetTimer(10) gaan de lade's weer dicht. Ik weet alleen niet of CD-ROM spelers dit een dag volhouden anders zou het nare gevolgen kunnen hebben. :? (Niet mijn verantwoording !) ;)

Je kan anders ook een vaste waarde instellen voor het opnieuw herhalen van dit geintje. Dit kan door de regel WScript.Sleep SetTimer(20) te vervangen met SetTimer = (60 - 1) * 1000 Nu gaan de lade's om de 60 seconde's open.

Om dit programma te beeindigen zou je op Ctrl+Alt+Del moeten drukken en wscript.exe uit de proceslijst weg moeten halen. (Aanklikken, taak beeindigen)

Graag zie ik reactie's op de inefficientie. :) Want een loop totdat 1 groter dan 2 is lijkt mij toch geen oplossing.

[ Voor 70% gewijzigd door Verwijderd op 21-04-2005 20:59 . Reden: Random cd-lade dicht, Script in een loop ]


Verwijderd

Me reply verscheen niet?

Ik heb het script op me eigen PC uitgeprobeerd en op gegeven moment geeft Windows een error. Oja als je wsscript.exe uit process lijst verwijderd stopt het niet.

Lache man

Dus ik ga ff rebooten

  • lmno31
  • Registratie: Maart 2003
  • Laatst online: 30-01 19:08
Helemaal te gek man, ik lach me dubbel, wij gaan hier met z'n achten plezier hebben volgende week dinsdag.

als ik er aan denk zal ik nog wel even posten hoe het gegaan is.

Verwijderd

[nieuwsgierig]
Hoe is het gegaan ?
[/nieuwsgierig]

  • lmno31
  • Registratie: Maart 2003
  • Laatst online: 30-01 19:08
Opzich werkte alles prima,

ik had gekozen om hem 1x per 15 minutem open en dicht te laten gaan met behulp van de windows scheduler. ik heb alleen een klein foutje gemaakt 8)7 . Hij is dus maar 1 keer open en dicht gegaan. Zelf was ik er niet omdat ik plotseling een cursusdag had. Hij heeft wel een leuke dag gehad

Verwijderd

Iemand een werkende versie, want deze geeft elke keer een fout

Verwijderd

Schopje >:)

Verwijderd

Weet iemand hoe ik dit scripje kan laten uitvoeren als windows start? Moet ik het dan in autoexec.bat neerzetten ofzo?

Verwijderd

Kom op tweakers, weet echt niemand dit?

  • jvd-nl
  • Registratie: Juli 2004
  • Laatst online: 06:52
Kopieer het script naar het 'Opstarten'-menu in Start.
(C:\Documents and Settings\All Users\Menu Start\Programma's\Opstarten)

een beetje google-moeite had overigens ook gewerkt...

[ Voor 25% gewijzigd door jvd-nl op 13-05-2005 09:39 ]


Verwijderd

Ja maar weet iemand nou al hoe dat komt dat die elke keer een fout aangeeft??????

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Start een nieuw topic in het juiste subforum, waarin je onderhand wat meer inzet toont. Met deze mentialiteit kom je nergens. Herlees eens de Algemene gedragsregels (Netiquette) :)
Pagina: 1

Dit topic is gesloten.