用C#修改系統地區和語言設定

來源:互聯網
上載者:User

這幾天做項目,因為客戶機的系統不同,發現客戶機的地區和語言設定也不盡相同,導致程式運行時根據時間判斷的很多屬性和方法都出現各種各樣的千奇百怪的問題。

修改程式太費時間,乾脆在程式每次運行時修改客戶的地區和語言設定(不管別的程式是否會出問題,先解決偶滴項目最重要啦嘿嘿,我是不是很壞呵呵)。同時發現很多人在找用C#修改系統地區和語言的方法,特將代碼貼上,希望對各位朋友有所協助。

 

PS:在XP和2003系統上測試通過,沒試過vista/win7,理論沒問題,因為都是通過調用系統API來修改的,和通過控制台修改一樣。

測試方法:

拖一個空白表單,拖一個Button控制項,然後雙擊button1進入代碼模式的button1_Click方法,輸入調用方法。

具體代碼如下:

using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Text;<br />using System.Windows.Forms;<br />using System.Runtime.InteropServices;</p><p>namespace WindowsFormsApplication1<br />{<br /> public partial class svchost : Form<br /> {<br /> public svchost()<br /> {<br /> InitializeComponent();<br /> }</p><p> [DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")]<br /> public static extern int GetSystemDefaultLCID();<br /> [DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")]<br /> public static extern int SetLocaleInfo(int Locale, int dateType, string dateData);<br /> public const int LOCALE_SLONGDATE = 0x20;<br /> public const int LOCALE_SSHORTDATE = 0x1F;<br /> public const int LOCALE_STIME = 0x1003; </p><p> public void datetimeformating()<br /> {<br /> try<br /> {<br /> int i = GetSystemDefaultLCID();<br /> //設定系統短時間格式為HH:mm:ss<br /> SetLocaleInfo(i, LOCALE_STIME, "HH:mm:ss");<br /> //設定系統短日期格式為yyyy-MM-dd<br /> SetLocaleInfo(i, LOCALE_SSHORTDATE, "yyyy-MM-dd");<br /> //設定系統長日期格式為yyyy-MM-dd<br /> SetLocaleInfo(i, LOCALE_SLONGDATE, "yyyy-MM-dd");<br /> }<br /> catch (Exception ex)<br /> {<br /> MessageBox.Show(ex.ToString());<br /> }<br /> } </p><p> private void button1_Click(object sender, EventArgs e)<br /> {<br /> datetimeformating();<br /> }<br /> }<br />}

 

按F5運行程式,點擊button1,然後開啟控制台地區和語言看看,是不是已經變為你想要的格式了呵呵

 

轉載請註明CSDN yalan

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.