/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
W2k - lukke program ned via shell script?
Fra : Rado


Dato : 23-05-05 12:41



Nogen der ved hvordan man lukker et program ned via et shell script i
W2k?


--
Rado

Always listen to experts. They will explain what can't be done
and why. Then do it. - Robert Heinlein

 
 
Benny Andersen (23-05-2005)
Kommentar
Fra : Benny Andersen


Dato : 23-05-05 14:41

On Mon, 23 May 2005 13:41:28 +0200, Rado <rado@fjernpost1.tele.dk>
wrote:

>
>
>Nogen der ved hvordan man lukker et program ned via et shell script i
>W2k?

Der findes 2 metoder.
1. flyt fokus til det program som skal lukkes og udfør lukningen ved
at sende den tastesekvens som lukker programmet, vha sendkeys
2. Dræb processen vha. et procesdræbnings program.

Vha. 2 metoden
Med w2k (på cd-rom'en) følger 'support tools' som skal installeres
separat hvis man ønsker det. Installerer man det får man utilitien:
Kill. Det skal blot have navnet, på den exe fil som har starten
processen, som argument. Følgende kan gemmes i en .vbs fil og det vil
lukke outlook express ved kørsel.

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "kill msimn.exe"

MVH Benny Andersen

Rado (23-05-2005)
Kommentar
Fra : Rado


Dato : 23-05-05 18:02

On Mon, 23 May 2005 15:41:10 +0200, Benny Andersen
<be9@worldoffline.dk> wrote:

>
>Der findes 2 metoder.
>1. flyt fokus til det program som skal lukkes og udfør lukningen ved
>at sende den tastesekvens som lukker programmet, vha sendkeys
>2. Dræb processen vha. et procesdræbnings program.
>
>Vha. 2 metoden
>Med w2k (på cd-rom'en) følger 'support tools' som skal installeres
>separat hvis man ønsker det. Installerer man det får man utilitien:
>Kill. Det skal blot have navnet, på den exe fil som har starten
>processen, som argument. Følgende kan gemmes i en .vbs fil og det vil
>lukke outlook express ved kørsel.

OK, tak. Jeg har så via 2. fået det til at virke: Det virker dog ikke
hvis programmet er sat til "Close to system tray", dvs. så det ikke
lukker ned når man klikker på Close knappen i øverste højre hjørne,
men blot "gemmer sig" til man klikker på tray ikonen igen. Men det må
man jo så blot lade være med, og bruge Minimize knappen i stedet.

Nu er problemet så at jeg skal have programmet startet op igen med det
samme Jeg ved godt hvordan jeg gør i DOS shell, men det kan jeg jo
ikke bruge i et VB script. Så har du evt. en stump VB kode der kan
starte et program også - evt. med et par sekunders forsinkelse om
nødvendigt?

Hvis nogen skulle undre sig så er formålet med det hele at få ikonerne
i trayet gendannet når Explorer crasher, og det kan jeg for en del
programmers vedkommende kun få ved at lukke dem ned og starte dem op
igen, hvilket er ret besværligt manuelt.


--
Rado

Always listen to experts. They will explain what can't be done
and why. Then do it. - Robert Heinlein

Rado (23-05-2005)
Kommentar
Fra : Rado


Dato : 23-05-05 18:28

On Mon, 23 May 2005 19:02:10 +0200, Rado <rado@fjernpost1.tele.dk>
wrote:

Nåja, lige et tillægsspørgsmål:

Jeg skulle gerne have flere programmer lukket ned og genstartet på een
gang, og har prøvet at eksperimentere lidt med koden men uden held -
jeg kan kun få eet program lukket ned hver gang jeg kører scriptet. Så
hvordan bærer man sig ad her?


--
Rado

Always listen to experts. They will explain what can't be done
and why. Then do it. - Robert Heinlein

Benny Andersen (23-05-2005)
Kommentar
Fra : Benny Andersen


Dato : 23-05-05 21:43

On Mon, 23 May 2005 19:28:15 +0200, Rado <rado@fjernpost1.tele.dk>
wrote:

>On Mon, 23 May 2005 19:02:10 +0200, Rado <rado@fjernpost1.tele.dk>
>wrote:
>
>Nåja, lige et tillægsspørgsmål:
>
>Jeg skulle gerne have flere programmer lukket ned og genstartet på een
>gang, og har prøvet at eksperimentere lidt med koden men uden held -
>jeg kan kun få eet program lukket ned hver gang jeg kører scriptet. Så
>hvordan bærer man sig ad her?

Jeg har ingen problemmer på mit system med at have flere
WshShell.Run "kill <process>"
linier, som så lukker dem alle.
Du kan prøve med pauser imellem, som f.eks 1/2 sekund:
WScript.Sleep 500

--
Benny

Benny Andersen (23-05-2005)
Kommentar
Fra : Benny Andersen


Dato : 23-05-05 21:41

[KLIP]
>OK, tak. Jeg har så via 2. fået det til at virke: Det virker dog ikke
>hvis programmet er sat til "Close to system tray", dvs. så det ikke
>lukker ned når man klikker på Close knappen i øverste højre hjørne,
>men blot "gemmer sig" til man klikker på tray ikonen igen. Men det må
>man jo så blot lade være med, og bruge Minimize knappen i stedet.
Hvad med kill -f
Måske virker den stærkere overfor programmer som skal lukkes på try
ikonet.
>Nu er problemet så at jeg skal have programmet startet op igen med det
>samme Jeg ved godt hvordan jeg gør i DOS shell, men det kan jeg jo
>ikke bruge i et VB script. Så har du evt. en stump VB kode der kan
>starte et program også - evt. med et par sekunders forsinkelse om
>nødvendigt?
Følgende gør det modsatte:

set WshShell = CreateObject("WScript.Shell")
WshShell.Run """E:\Program Files\Adobe\Acrobat
5.0\Reader\AcroRd32.exe"""
WScript.Sleep 10000
WshShell.Run "kill AcroRd32.exe"

>Hvis nogen skulle undre sig så er formålet med det hele at få ikonerne
>i trayet gendannet når Explorer crasher, og det kan jeg for en del
>programmers vedkommende kun få ved at lukke dem ned og starte dem op
>igen, hvilket er ret besværligt manuelt.

--
Benny


Rado (24-05-2005)
Kommentar
Fra : Rado


Dato : 24-05-05 15:03

On Mon, 23 May 2005 22:40:31 +0200, Benny Andersen
<be9@worldoffline.dk> wrote:

>[KLIP]
>>OK, tak. Jeg har så via 2. fået det til at virke: Det virker dog ikke
>>hvis programmet er sat til "Close to system tray", dvs. så det ikke
>>lukker ned når man klikker på Close knappen i øverste højre hjørne,
>>men blot "gemmer sig" til man klikker på tray ikonen igen. Men det må
>>man jo så blot lade være med, og bruge Minimize knappen i stedet.
>
>Hvad med kill -f
>Måske virker den stærkere overfor programmer som skal lukkes på try
>ikonet.

Det var kill -f der skulle til, og så lige de ekstra to "" før og
efter programstierne (havde kun brugt en enkelt). Ser nu ud til at det
fungerer med følgende kode:

set WshShell = CreateObject("WScript.Shell")
WshShell.Run "kill -f pwagent.exe"
WScript.Sleep 1000
WshShell.Run "kill -f notepro.exe"
WScript.Sleep 10000
WshShell.Run """C:\Program Files\Password Agent\PwAgent.exe"""
WScript.Sleep 1000
WshShell.Run """C:\Program Files\NoteTab Pro\NotePro.exe"""

Måske sleep værdierne kan gøres mindre det ved jeg ikke, men det er
hurtigt nok for mig det her.

Der var iøvrigt noget der snød mig under testforsøgene, og det er at
tray ikonerne nogle gange kan blive hængende et stykke tid selvom
programmerne er blevet lukket ned. Først når man fører musen hen over
dem forsvinder de. Så det skal man lige være opmærksom på når man
tester det her.

Men ellers mange tak for hjælpen!


--
Rado

Always listen to experts. They will explain what can't be done
and why. Then do it. - Robert Heinlein

Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408825
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste