我需要通過我的應用程序中的API更改DST和時區。 我修改通過以下鏈接的終結「SetTimeZoneInformation」使用的&複製示例並運行它: http://msdn.microsoft.com/en-us/library/windows/desktop/ms724944(v=vs.85).aspx如何使用windows api更改時區設置
我假設我的時間設置應體現在托盤或控制面板我的時間設置。但沒有任何反應。
以下的事情也應該注意。
此代碼修改「HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation」的關鍵內容。 並且「HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Time Zones \我的時區」線程中沒有更改。但這是我正在尋找的!
有什麼方法可以用C++中的API修改「我的時區」嗎?
增加(從本應在這裏被編輯答案):
所以,實際上,我的目標是讓我的應用程序的Win7下工作。現有功能使用MANUAL DST支持。因此,我需要以某種方式將此手動DST和GMT偏移設置與Win7同步。據我所知,SetTimeZoneInformation函數只是根據我的輸入嘗試類似於從現有時區集合中查找時區。如果沒有時區等於我的輸入,則Win7使用默認的時區,例如UTC-12,並通知用戶「當前時區未被識別」。
那麼,我應該用什麼方法來實現呢?
哇,你是對的。不知怎的,LookupPrivilegeValue讓我錯誤1313. ERROR_NO_SUCH_PRIVILEGE 它怎麼可能? – Vadim 2012-03-07 09:47:22
我覺得沒有必要在XP下啓用權限,這就是爲什麼我得到錯誤。現在我已經評論了特權並添加了「WM_SETTINGCHANGE」發送代碼。同時在'SetTimeZoneInformation'行之後添加了'RegFlushKey(HKEY_LOCAL_MACHINE)'行。 – Vadim 2012-03-07 10:31:20
爲什麼HKLM \ SYSTEM \ CurrentControlSet \ Control \ TimeZoneInformation中的ActiveTimeBias'鍵沒有改變? – Vadim 2012-03-07 10:41:24