Oneskorenie spustania programov pri starte

Diskuze výhradně o operačním systému Windows 7

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod t85m 18. 2. 2010 12:38

Pouzivam postoveho klienta Windows Live Mail, ktory mam nastaveny tak, ze sa spusta pri starte systemu. Problem je v tom, ze on sa spusti uz skorej ako DHCP server prideli mojej sietovej karte adresu. A to znamena, ze mi windows mail vyhodi okno, v ktorom ukaze ze nevie stiahnut postu - je to logicke nakolko nejde internet.
Ako mam spravit, aby sa spustal po starte s oneskorenim napriklad 1 minutu? Asi by sa to dalo vyriesit davkovym suborom, ale hladam jednoduchsie riesenie. Nejake nastavenie v registroch alebo v systeme neexistuje?
***
t85m
Junior

Odeslat příspěvekod vladimir 18. 2. 2010 13:35

Zkus startovat program pomocí naplánovaných úloh a nastav, aby se program spouštěl po startu počítače a v pokročilých nastaveních doplň, aby startoval, až bude procesor několik vteřin v klidu.

(nezkoušel jsem to, je to jenom nápad, tak napiš, jestli to funguje).
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod t85m 18. 2. 2010 14:06

Dal som to do planovaca uloh. Urcil som, aby sa spustalo pri prihlaseni a nastavil som polozku: Start the task only if the computer is idle for - 1 minuta. Menej sa dat nedalo a ani po minute necinnosti sa Mail nespusti. Tak cakam na dalsie rady :-]
***
t85m
Junior

Odeslat příspěvekod welby 18. 2. 2010 14:23

Pokud používáte xp, tak pod tou položkou, kterou jste si nastavil (spustit úlohu, pokud je počítač nečinný po dobu 1 min) je další položka, která stanovuje, že se úloha má spustit po X minutách, pokud počítač není nečinný. Zkuste ji taky nastavit na 1 minutu.
welby
Junior

Odeslat příspěvekod t85m 18. 2. 2010 14:52

pouzivam win 7 ultimate.

tu je obrazok Obrázek
***
t85m
Junior

Odeslat příspěvekod vladimir 18. 2. 2010 15:19

Ale když se dívám na ten obrázek, co takle zkusit "Start only, if the following network connection is available"?

Nejedeš na baterie? To bys ještě musel povolit start programu při bateriovém režimu (to platí i pro ten předchozí pokus).

Podporuje tvůj operační systém příkaz "eventtriggers" ? Tím by to možná taky šlo...

No a ten jednoduchý dávkový soubor, který jsi hned na začátku vyloučil, by byl asi nejjednodušší - buď pauza 60 vteřin, nebo pingat tvůj poštovní server a počkat, až přijde odpověď.
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod t85m 18. 2. 2010 16:21

Vyskusal som vsetky mozne kombinacie v tom nastaveni a nejde to tak ako má.

vladimir píše:Podporuje tvůj operační systém příkaz "eventtriggers" ? Tím by to možná taky šlo...

Nepodporuje

vladimir píše:No a ten jednoduchý dávkový soubor, který jsi hned na začátku vyloučil, by byl asi nejjednodušší - buď pauza 60 vteřin, nebo pingat tvůj poštovní server a počkat, až přijde odpověď.


Vedel by si mi prosim ta napisat cely syntax toho prikazu? Myslim tym ten na ping postoveho serveru.
***
t85m
Junior

Odeslat příspěvekod vladimir 18. 2. 2010 16:29

Kód: Vybrat vše
@echo off
:1
ping /n 1 77.75.76.43 | findstr /c:"100%" > nul
if %errorlevel% EQU 1 goto 10
goto 1
:10
start blablabla.exe

Do autostratu nedávej přímo tenhle baťák, ale zástupce na něj a pak můžeš nastavit, aby se startoval v minimalizovaném okně.

Princip: pingneme nějakou IP-adresu a příkazem findstr zkontrolujeme, zda výpis obsahuje řetězec 100% (Ztráta 100%). Pokud ano, je errorlevel 0 a skáčeme zpět na začátek, poku tam není, je errorlevel 1 a skáčeme na 10, následuje start programu a cmd okno z lišty se samo zavře.

Pingám momentálně 77.75.76.43 (smtp.seznam.cz), ale můžeš pingat třeba výchozí providerovu bránu nebo cokoliv jiného (ale pingej IP-adresu, protože kdybys pingal smtp.seznam.cz a ještě nebyl k dispozici DNS server, vypadalo by chybové hlášení jinak (nebyl by tam řetězec 100%), musel by sis skript upravit.)
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod t85m 18. 2. 2010 19:15

funguje to az na jednu malu drobnost :) Okno cmd.exe je otvorene pokial sa mail nespusti. Mam nastavene minimalizovanie v zastupcovi.

tu je zdroják:
Kód: Vybrat vše
@echo off
:1
ping /n 1 77.75.76.43 | findstr /c:"100%" > nul
if %errorlevel% EQU 1 goto 10
goto 1
:10
start "c:\Program Files (x86)\Windows Live\mail\" wlmail.exe


Dakujem ti, si odbornik, to sa musi uznat :tleskani
***
t85m
Junior

Odeslat příspěvekod vladimir 18. 2. 2010 19:56

t85m píše:Okno cmd.exe je otvorene pokial sa mail nespusti.
Tak to nevím, proč a nemůžu to ani vyzkoušet - já mám XP a tam ten trik se zástupcem funguje.

Kdybys spouštěl tu dávku přes plánovač, není ve W7 volba na minimalizované spuštění?

Má někdo jiný nápad, jak spustit ve W7 dávkový soubor minimalizovaně?
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod tibika 18. 2. 2010 20:11

už spustený batch bez 3rd programov myslim minimalizovat nejde. Kazdopadne nie je problem spustat .bat cez odkaz s volbou:

Obrázek
tibika
Pokročilý
Uživatelský avatar

Odeslat příspěvekod vladimir 18. 2. 2010 21:43

Prý zrovna tohle mu nefunguje - možná to jenom špatně pochopil:
- vytvořit .bat soubor, uložit někde na disku (ne v adresáři autostart, nevím, jak se ten adresář ve W7 jmenuje).
- k němu vytvořit zástupce,
- tohoto zástupce umístit do adresáře autostartu
- a tomuto zástupci nastavit spuštění v minimalizovaném okně
vladimir
Expert
Uživatelský avatar

Odeslat příspěvekod tibika 18. 2. 2010 21:56

teda ked toto nefunguje, niekde je chyba (a nie vo win)... no nič, ešte jedna dosť divoká možnosť - spustat ten batch cez iný batch, ktorý ho len spustí minimalizovaný (ale sám prebehne v "mžiku"):
Kód: Vybrat vše
@echo off
cd zložka_kde_je_ten_pingovací_bat
start /min pingni.bat

(snad je zrejmé, čo-je-čo)
tibika
Pokročilý
Uživatelský avatar

Odeslat příspěvekod t85m 18. 2. 2010 22:08

vladimir: chapal som to uz na prvykrat, ale nefunguje to. Skusal som to aj cez planovac uloh.
tibika: zajtra mozno skusim aj tu moznost, co si navrhol. Ale pravdupovediac mi to okno cmd nejak neprekaza.
***
t85m
Junior

Odeslat příspěvekod vladimir 19. 2. 2010 13:41

Fakt nevím.

Ještě bys mohl zkusit schovat to okno úplně, ale to taky nemám na W7 odzkoušené, jenom na XP:

udělal bys soubor hidebatch.bat:
Kód: Vybrat vše
@echo off
if {%1}=={} @echo Syntax: HideBatch BatchFile [Param1 Param2 ...ParamN]&goto :EOF
setlocal
set VBS="%TEMP%\HideBatch.vbs"
if exist %VBS% goto Runit
@echo dim obj, obj1, obj2, objArgument>%VBS%
@echo Set WshShell = WScript.CreateObject("WScript.Shell")>>%VBS%
@echo Set objArgument = Wscript.Arguments>>%VBS%
@echo obj1=objArgument(0)>>%VBS%
@echo obj2=Replace(obj1, "```", """")>>%VBS%
@echo obj = WshShell.Run(obj2, 0)>>%VBS%
@echo set WshShell = Nothing>>%VBS%
:Runit
set param=%*
set param="%param:"=```%"
cscript //nologo %VBS% %param%
endlocal


a ten bys spouštěl z autostartu baťákem:
Kód: Vybrat vše
hidebatch.bat pingani.bat

(pingani.bat bys nahradil nádvem té dávky na zpožděný start)
vladimir
Expert
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků