Valaki segítene ezt az egyszerű programot megírni? (nap visszaszámlálás)
Szóval, Eset Smart Security vírusírtóm van, újságkóddal használom, ezáltal havonta aktiválni kell, de a vírusírtó csak akkor jelez, ha már lejárt a licenc, akkor meg ugye már késő. Valami olyasmit szeretnék, hogy minden rendszerindításkor bejön egy ablak (ezt az indítópulttal oldanám meg), valami ilyesmi szöveggel: "Eset Smart Security licenc. Még x nap van hátra.". Még valahogy úgy kéne, hogy könnyen át tudjam benne írni a licenc lejárati dátumát. Batch-ben (.bat) próbáltam megírni, de azt nem tudtam rávenni, hogy napot számoljon. Egy kis tapasztalatom van a VBS-sel kapcsolatban, de azzal is csak annyi, hogy egy meghatározott szövegű ablakot tudok behozni.
Nem kell túl bonyolultnak lennie, egy sima Windows-os vagy egy parancssor ablakkal is beérem.
Windows Scripting Host alá, JavaScript vagy VBS nyelven nem egy bonyolult dolog.
Létrehozol egy dátum objektumot, ez az aktuális dátumot fogja tartalmazni.
Illetve mégegyet, ez fixen a lejárat dátumát.
A kettőt összehasonlítod és WScript.Echo segítségével kiírod, hány nap jött ki, ha az eredmény pozitív, egyébként az ESET úgyis figyelmeztet, hogy lejárt.
Megírod a szkriptet egy .VBS fájlba, és behajítod az indítópultba.
Mellesleg, valamivel több munka hozzáadásával közvetlenül a Registry-ből is ki lehet olvasni, mikor jár le. Olvass utána, ha érdekel ez a megoldás.
#1
Húha, ezzel elleszek egy darabig, még túlságosan parancssorosan gondolkozom.
#2
Úgy hallottam, az fogja a gépet. Nekem nincs túl erős gépem.
Nem olyan bonyolult az. Pár sor lehet az egész: [link]
Kb.
var expirationDate = new Date("09 October 2014");
var today = new Date();
var milliSecondsPerDay = 24 * 60 * 60 * 1000;
var differenceInMillis = expirationDate.getTime() - today.getTime();
var differenceInDays = Math.ceil(differenceInMillis / milliSecondsPerDay);
WScript.Echo("Az ESET aktiváció " + differenceInDays + " nap múlva lejár.");
Sebtében hánytam össze, nem a legjobb megoldás, de tán még működik is változtatás nélkül. Csak mentsd el egy .JS kiterjesztésű fájlba és indítsd el.
A később esetlegesen érkező szőrszálhasogatónak: Nyilván nem ezt szántam az életművemnek. ;)
#4
Köszi, de nem ez volt a kérdés. Meg vagyok elégedve a jelenlegivel.
#5
Ééés tényleg működik. Köszönöm, ez alapján már el tudok indulni.
Az ötlet: Tárold el egy sima szövegfájlban az aktuális lejárati dátumot, majd hasonlítsd össze a jelenlegi dátummal. Ha már lejárt, módosítsd a szövegfájlt (pl.: a következő hónapra.)
Ez így nagyon bonyolultnak tűnik? Ha nem megy küldhetek kódot, hogy megnézd.
Rendben, igyekeztem megjegyzéseket írni hozzá, talán érthető, legalábbis a logikája. (A nyelvben a Google sokat segített :) Ez alapján elindulhatsz, változtathatsz ezt-azt, ha nem erre gondoltál.
sajatfajlnev = "C:\sajatfajlom.txt" 'tetszoleges lehet
Most = Date() 'A mostani datum
WScript.echo Most 'kiirja, hogy most, de ezt a sort ki is torolheted
Set olvasando = CreateObject("Scripting.FileSystemObject").OpenTextFile(sajatfajlnev,1) 'megnyitja a sajat faljt
Lejarat = olvasando.ReadAll() 'Ide teszi a kiolvasott datumot
Wscript.echo Lejarat 'kiirja a learat datumat
kulonbseg = DateDiff("d", Most, Lejarat) 'kulonbseget szamol, napokban
WScript.echo "Még " & kulonbseg & " nap van hátra" 'Kiszamolja es kiirja a kulonbseget
if kulonbseg <=0 then
ujDatum = InputBox("Kerem az uj lejarati datumot:", "Cim", DateAdd("d", 30, Most ) )' Kovetkezo honap, de atirhato
ujDatum = FormatDateTime(ujdatum)
Set irando = CreateObject("Scripting.FileSystemObject").OpenTextFile(sajatfajlnev,2,true) ' megnyitja ugyanazt a megadott fajlt
irando.WriteLine(ujDatum) 'beleirja a datumot
end if
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!