Çözüldü BIOS pili yüzünden ilerlemeyen saat için program önerisi

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Katılım
24 Aralık 2019
Mesajlar
1.640
Çözümler
5
BIOS pili saati ilerletmeyecek kadar bitmiş durumda bende bu saati güncelle demekten yoruldum, BIOS pili lehimli olmasa sökerdim ama işte, saati internet aracılığıyla güncel tutacak program biliyor musunuz?
 
Son düzenleyen: Moderatör:
Çözüm

Otomatik saat güncellemeyi kapatın. Saat dilimini +3 İstanbul seçin. Rar'dan dosyayı çıkarın. Yönetici olarak çalıştırın. 30 saniyede bir saatiniz güncellenir.

Kaynak kodları:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Net; using System.Net.Sockets; namespace zaman_guncelle { public partial class Form1 : Form { int sayac = 0; [DllImport("kernel32.dll")] public extern static uint SetSystemTime(ref SYSTEMTIME lpSystemTime); [StructLayout(LayoutKind.Sequential)] public struct SYSTEMTIME { public short Year; public short Month; public short DayOfWeek; public short Day; public short Hour; public short Minute; public short Second; public short Milliseconds; } public Form1() { InitializeComponent(); guncelle(); timer1.Start(); } void guncelle() { SYSTEMTIME zaman = new SYSTEMTIME(); zaman.Day = (short)(GetNetworkTime().Day); zaman.Month = (short)(GetNetworkTime().Month); zaman.Year = (short)(GetNetworkTime().Year); zaman.Hour = (short)(GetNetworkTime().Hour); zaman.Minute = (short)(GetNetworkTime().Minute); zaman.Second = (short)(GetNetworkTime().Second); zaman.Milliseconds = (short)(GetNetworkTime().Millisecond); SetSystemTime(ref zaman); textBox1.Text = GetNetworkTime().ToString(); } public static DateTime GetNetworkTime() { const string ntpServer = "0.tr.pool.ntp.org"; var ntpData = new byte[48]; ntpData[0] = 0x1B; //LeapIndicator = 0 (no warning), VersionNum = 3 (IPv4 only), Mode = 3 (Client Mode) var addresses = Dns.GetHostEntry(ntpServer).AddressList; var ipEndPoint = new IPEndPoint(addresses[0], 123); var socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socket.Connect(ipEndPoint); socket.Send(ntpData); socket.Receive(ntpData); socket.Close(); ulong intPart = (ulong)ntpData[40] << 24 | (ulong)ntpData[41] << 16 | (ulong)ntpData[42] << 8 | (ulong)ntpData[43]; ulong fractPart = (ulong)ntpData[44] << 24 | (ulong)ntpData[45] << 16 | (ulong)ntpData[46] << 8 | (ulong)ntpData[47]; var milliseconds = (intPart * 1000) + ((fractPart * 1000) / 0x100000000L); var networkDateTime = (new DateTime(1900, 1, 1)).AddMilliseconds((long)milliseconds); return networkDateTime; } private void timer1_Tick(object sender, EventArgs e) { sayac++; if (sayac%30==0) { guncelle(); } } } }
Hocam ilk açılışta internet sisteme gelmeden önce program çalışırsa hata verebilir. Verileri internetten çektiği için.
Program işinizi görüyor mu?

Evet saat ilerlemeye başladı ama mesela görev yöneticisinde başlangıçtaki uygulamalar var onları etkinleştir yapıyoruz ve bilgisayarı açtığımızda açılıyor onu kastetmiştim mesela Steam'de internetli ama PC açıldığında oda açılıyor.
 
Evet saat ilerlemeye başladı ama mesela görev yöneticisinde başlangıçtaki uygulamalar var onları etkinleştir yapıyoruz ve bilgisayarı açtığımızda açılıyor onu kastetmiştim mesela Steam'de internetli ama PC açıldığında oda açılıyor.
Hocam onlar profesyonel uygulamalar. Bu uygulamayı 5 dk da yaptım illaki hataları olacaktır.
 
Yok hocam hata demiyorum 😄 elinize sağlık, kökten baştan başlasaydı daha da iyi olurdu tekrardan teşekkürler.

Rica ederim. Zamanım olursa değişiklik yapıp tekrardan paylaşırım.
Yok hocam hata demiyorum 😄 elinize sağlık, kökten baştan başlasaydı daha da iyi olurdu tekrardan teşekkürler.

Uygulamada yaptığım değişiklikler:
1. Uygulama setup haline getirildi.
2. Uygulama açıldığında simge durumuna küçültülmüş olarak başlayacak.
3. Bilgisayar açıldığında uygulamanın başlaması için kurulumdan sonra masaüstünde sistem açılış uygulaması olacak. Bu uygulamadan sistem açılışında uygulamanın başlaması için saat güncelleyici uygulaması seçilecek.
4. Uygulamaya yönetici hakları verildi.


Hocam bunu deneyin.
Setupsuz hali de burada hocam.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı