如何在C#中以編程方式在本地機器上設置Windows時區?使用交互式工具不是一種選擇,因爲遠程單元沒有用戶界面或用戶。遠程機器正在運行.NET 2.0和Windows XP Embedded以及一個本地應用程序,該應用程序與中央服務器(通過Web服務)進行通信,以實現自動執行任務的方向。我們可以提供一個命令以同步到某個時間/區域組合,但是可以在本地應用程序中放置哪些代碼來完成更改?在安裝之前,設備沒有爲特定位置成像,因此爲了在任何位置使用任何設備,我們必須能夠同步這些信息。在C#中遠程設置時區
回答
SetTimeZoneInformation應該做你所需要的。你需要使用P/Invoke來解決它。
還要注意,您需要擁有並啓用SE_TIME_ZONE_NAME權限。
嘗試......
首先,你需要找到,在註冊表中,代表您要該區域的關鍵(「中央標準時間」就是一個例子)。這些都坐落在這裏:
HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows NT \當前版本\ Time區域
因此,考慮到這一點,創建一個批處理文件, 「SetTimeZone.bat」 與在它下面的行:
RUNDLL32 SHELL32.DLL,Control_RunDLL%SYSTEMROOT%\ SYSTEM32 \ TIMEDATE.cpl ,,/Z%1
從C# ,請致電:
System.Diagnostics.Process.Start(「SetTimeZone.bat」,「您要設置的時區密鑰」);
如果您不使用UTC傳輸日期,那麼您將面臨有不正確數據的風險......如果您更改設備上的時區...您的日期將更加緊密。
您可能需要使用UTC,然後計算每個時區的時間。
這不是在Windows 7中工作,我曾嘗試用以下的環境 Windows 7的 VSTS 2008 它打開更改時區窗口,因爲我們做手工
而不是隻需設置時區某些系統應該考慮使用Windows時間服務。它不僅會處理時區。它也會照顧正確的日期和時間設置。
看看:How to synchronize the time with the Windows Time service in Windows XP
即使你可能打算讓內Vista或Windows所有這些設置7看看this here。
santosh 您確定無誤。 RunDLL32 shell32.dll,Control_RunDLL%SystemRoot%\ system32 \ TIMEDATE。cpl ,,/Z%1 已被棄用多年,並且不會在Windows 2008,R2,Vista,7,... 上運行哦,是的,我注意到這個論壇似乎有一個識別輸入密鑰的完整錯誤。也許有一天程序員會解決這個問題。
- 1. 使用C#在遠程計算機上設置日期,時間和時區#
- 2. 在PHP中設置時區
- 3. 在Tornado中設置時區
- 4. 設置時區
- 5. 設置時區
- 6. 設置時區
- 7. 在Jenkins/Git中設置遠程追蹤
- 8. 在DCOM中設置遠程啓動
- 9. 在倒計時中設置時區
- 10. Git遠程URL:設置時出錯
- 11. 遠程處理設置超時
- 12. 如何在存儲過程中設置日期時間時區
- 13. 服務器設置/遠程設置
- 14. oozie時區設置
- 15. 設置時區mysql
- 16. Crontab:設置時區
- 17. MYSQL設置時區
- 18. 在Linux中設置系統時區
- 19. 錯誤在MySql中設置時區表
- 20. 如何在PHP中設置時區
- 21. 如何在Symfony2中設置時區
- 22. 如何在Crashlytics中設置時區?
- 23. 在symfony中設置默認時區
- 24. 在PHP中設置時區偏移量
- 25. 在Bootstrap文件中設置時區
- 26. DateTime.now未在Rails中設置時區
- 27. 如何在datetimepicker中設置時區?
- 28. 如何在gnuplot中設置時區?
- 29. 如何在Selenium Chromedriver中設置時區?
- 30. 設置Arduino遠程連接