Reboot.vbs - Bilgisayar Yeniden Başlangıç Süresi Hesaplatma

.Net dilleri hakkında bilgiler, kaynaklar, dökümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 1053
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 639 kez
Teşekkür edildi: 472 kez
İletişim:

Reboot.vbs - Bilgisayar Yeniden Başlangıç Süresi Hesaplatma

Mesaj gönderen admin »

Resim

Merhaba , eğer bilgisayarınızın yeniden başlama süresini öğrenmek istiyorsanız aşağıda kodları ve ekte hazırlanmış uygulamayı çalıştırabilirsiniz. VbScript komut dosyası olarak hazırlanmıştır.

Aşağıda ki kodu not defteri içine yapıştırıp, dosyayı farklı kaydet derken şu şekilde yenidenbaslat.vbs tarzında kaydederseniz hazırdır. İsterseniz linkten indirebilirsiniz.

Kod: Tümünü seç

Option Explicit
On Error Resume Next
Dim Wsh, Time1, Time2, Result, PathFile, MsgResult, MsgA, AppName, KeyA, KeyB, TimeDiff
MsgA = "Lütfen bütün açık uygulamaları kapatın ve TAMAM deyin."
KeyA = "HKEY_CURRENT_USER\Software\RestartTime\"
KeyB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\RestartTime"
AppName = "Yeniden başlama zamanını ölç"
Set Wsh = CreateObject("WScript.Shell")
PathFile = """" & WScript.ScriptFullName & """"
Result = wsh.RegRead(KeyA & "Times")
if Result = "" then
MsgResult = Msgbox (MsgA, vbOKCancel, AppName)
If MsgResult = vbcancel then WScript.Quit
Wsh.RegWrite KeyA & "Times", left(Time,8), "REG_SZ"
Wsh.RegWrite KeyB, PathFile, "REG_SZ"
Wsh.Run "cmd /c Shutdown -r -t 00", false, 0
else
Wsh.RegDelete KeyA & "Times"
Wsh.RegDelete KeyA
Wsh.RegDelete KeyB
TimeDiff = DateDiff("s",Result,left(Time,8))
MsgBox "Bilgisayarınızın yeniden baslatılması " & TimeDiff & " saniye surdu", VbInformation, AppName
end if
wscript.Quit
Resim

Resim

Yeniden başladıktan sonra gelen mesaj ;
Resim

Link:

Kod: Tümünü seç

https://www.mediafire.com/file/02f98765gdmstel/reboot.vbs/file
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.

Etiketler:
Vuplay
ARGE Ekip Üyesi
ARGE Ekip Üyesi
Mesajlar: 30
Kayıt: 25 Eyl 2023 09:29
Teşekkür etti: 5 kez
Teşekkür edildi: 19 kez

Okey Re: Reboot.vbs - Bilgisayar Yeniden Başlangıç Süresi Hesaplatma

Mesaj gönderen Vuplay »

Elinize sağlık adminim.
BY VUPLAY
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 717
Kayıt: 30 Ağu 2022 21:59
Konum: BERTUNA/Orion Takım Yıldızı
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 175 kez
Teşekkür edildi: 577 kez

Re: Reboot.vbs - Bilgisayar Yeniden Başlangıç Süresi Hesaplatma

Mesaj gönderen TRWE_2012 »

Adminin kodladığı .VBS betiğini bir de biz haddimizi bilerek, irdeleyim.

Kod: Tümünü seç

Option Explicit
On Error Resume Next
Dim Wsh, Time1, Time2, Result, PathFile, MsgResult, MsgA, AppName, KeyA, KeyB, TimeDiff
MsgA = "Lütfen bütün açık uygulamaları kapatın ve TAMAM deyin."
KeyA = "HKEY_CURRENT_USER\Software\RestartTime\"
KeyB = "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\RestartTime"
AppName = "Yeniden başlama zamanını ölç"
Set Wsh = CreateObject("WScript.Shell")
PathFile = """" & WScript.ScriptFullName & """"
Result = wsh.RegRead(KeyA & "Times")
if Result = "" then
MsgResult = Msgbox (MsgA, vbOKCancel, AppName)
If MsgResult = vbcancel then WScript.Quit
Wsh.RegWrite KeyA & "Times", left(Time,8), "REG_SZ"
Wsh.RegWrite KeyB, PathFile, "REG_SZ"
Wsh.Run "cmd /c Shutdown -r -t 00", false, 0
else
Wsh.RegDelete KeyA & "Times"
Wsh.RegDelete KeyA
Wsh.RegDelete KeyB
TimeDiff = DateDiff("s",Result,left(Time,8))
MsgBox "Bilgisayarınızın yeniden baslatılması " & TimeDiff & " saniye surdu", VbInformation, AppName
end if
wscript.Quit
Önce Basit Açıklama :

1.Kayıt Defteri Kontrolü:

Betik, bilgisayarın kayıt defterinde daha önce kaydedilmiş bir zaman olup olmadığını kontrol ediyor. Eğer yoksa, kullanıcıdan tüm açık uygulamaları kapatmasını istiyor.

2.Kullanıcıdan Onay Alma:

Kullanıcı "Tamam" butonuna basarsa, mevcut zamanı kaydediyor ve bilgisayarı hemen yeniden başlatıyor. Eğer "İptal" butonuna basarsa, betik duruyor.

3.Zamanı Kaydetme:

Yeniden başlatma işlemi sırasında, mevcut zamanı kayıt defterine yazıyor. Bu, daha sonra süreyi hesaplamak için kullanılacak.

4.Yeniden Başlatma:

Bilgisayar hemen yeniden başlatılıyor.

5.Süre Hesaplama:

Eğer daha önce bir zaman kaydedilmişse, bu durumda yeniden başlatma süresini hesaplıyor ve kullanıcıya kaç saniye sürdüğünü gösteriyor.

Detaylı Basit Açıklama (kodun işleyişinin adım adım açıklanması) :

1.Değişken Tanımlamaları:

1.1.Wsh:

WScript.Shell nesnesini temsil eder, Windows komutlarını çalıştırmak ve kayıt defteri işlemleri yapmak için kullanılır.

1.2.Time1, Time2, Result, PathFile, MsgResult, MsgA, AppName, KeyA, KeyB, TimeDiff:

Çeşitli amaçlar için kullanılan değişkenlerdir.

1.3.MsgA:

Kullanıcıya gösterilecek mesajdır; tüm açık uygulamaların kapatılması gerektiğini belirtir.

1.4.KeyA ve KeyB:

Kayıt defteri anahtarlarının yollarını tanımlar. KeyA, yeniden başlatma zamanını saklamak için kullanılırken, KeyB betiğin otomatik olarak çalıştırılması için kullanılır.

2.Kayıt Defteri Okuma:

2.1.Result = wsh.RegRead(KeyA & "Times"):

Kayıt defterinden "Times" anahtarını okur. Eğer bu anahtar yoksa, Result boş bir değer alır.

3.Kullanıcıdan Girdi Alma:

3.1.Eğer Result değeri boşsa, kullanıcıya bir mesaj kutusu gösterilir (MsgBox), burada kullanıcıdan tüm açık uygulamaları kapatması istenir. Kullanıcı "Tamam" butonuna basarsa, kod devam eder; "İptal" butonuna basarsa, betik sonlanır (WScript.Quit).

4.Kayıt Defterine Yazma (kodun kalbi burası) :

4.1.Kullanıcı "Tamam" dedikten sonra, mevcut zamanı kayıt defterine yazar (Wsh.RegWrite KeyA & "Times", left(Time,8), "REG_SZ"). Ayrıca, betiğin kendisini otomatik olarak çalıştırmak için kayıt defterine ekler (Wsh.RegWrite KeyB, PathFile, "REG_SZ").

5.Bilgisayarı Yeniden Başlatma:

5.1.Wsh.Run "cmd /c Shutdown -r -t 00", false, 0:

Bilgisayarı hemen yeniden başlatmak için bir komut çalıştırır.

6.Zaman Farkını Hesaplama (zamanı nasıl hesaplıyor sorunun cevabı) :

6.1.Eğer Result değeri boş değilse, bu durumda daha önce kaydedilmiş zaman ile mevcut zaman arasındaki farkı hesaplar
(TimeDiff = DateDiff("s",Result,left(Time,8)))

7.Sonuç Mesajı Gösterme:

Kullanıcıya bilgisayarın yeniden başlatılmasının ne kadar sürdüğünü gösteren bir mesaj kutusu açar.

7.Betik Sonlandırma:

7.1.wscript.Quit:

Betiği sonlandırır.

Özetle ;

Bu betik, bilgisayarın yeniden başlatılma süresini ölçmek ve bu süreyi kullanıcıya bildirmek için kullanılabilmekte olup ayrıca, bilgisayarın yeniden başlatılmasını otomatikleştirmek için kayıt defterine ekleme yapar.
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet
Cevapla

“Visual Basic & .NET Framework” sayfasına dön