可修改內容的下拉式選單


<%@ Language=VBScript %>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE>可修改內容的下拉式選單</TITLE>
<script language="JavaScript">
<!--
function catch_keydown(sel)
{
switch(event.keyCode)
{
case 13:
//Enter;
sel.options[sel.length] = new Option("","",false,true);
event.returnValue = false;
break;
case 27:
//Esc;
alert("text:" + sel.options[sel.selectedIndex].text + ", value:" + sel.options[sel.selectedIndex].value + ";");
event.returnValue = false;
break;
case 46:
//Delete;
if(confirm("刪除當前選項!?"))
{
sel.options[sel.selectedIndex] = null;
if(sel.length>0)
{
sel.options[0].selected = true;
}
}
event.returnValue = false;
break;
case 8:
//Back Space;
var s = sel.options[sel.selectedIndex].text;
sel.options[sel.selectedIndex].text = s.substr(0,s.length-1);
event.returnValue = false;
break;
}

}
function catch_press(sel)
{
sel.options[sel.selectedIndex].text = sel.options[sel.selectedIndex].text + String.fromCharCode
sel.options[sel.selectedIndex].value = sel.options[sel.selectedIndex].text;
event.returnValue = false;
}
//-->
</script>
</HEAD>
<body bgcolor="#fef4d9">
按Enter輸入新內容,按DEL刪除選中內容,按ESC顯示選中內容;可輸入資料<br> 
可惜的是只能新增修改option的文字(text)項,如果有新增選項的話,option的值(value)會和文字相同
post回去的話除非server端程式要作動態修正,否則選單的選項不會改變
<form method=post>
<select name=s1 onkeydown="catch_keydown(this);" onkeypress="catch_press(this);" style="font-size:12px;">
<option>選項1</option>
<option>選項2</option>
<option>選項3</option>
<option>選項4</option>
<option>選項5</option>
</select>
<br/>
<input type=submit name=btn class="btn_query" value="送出">
<br/>
<%if Request.Form("s1") <> "" then Response.Write "選項內容為:" & Request.Form("s1")%>
</form>
</BODY>
</HTML>

bgm 發表在 痞客邦 留言(0) 人氣()


如何在VB6裡把UTF-8格式的繁體中文字讀出,而不成亂碼? 

寫程式讀檔35 可能會遇到有UTF-8的編碼..
不幸的是.. VB6 讀進的中文字會變亂碼

亦無法像VS.Net 一樣可輕易的讀取 ..
因此在這,小弟提供另兩個解決方案分享給大家參考 ( API )

1.
如果是 XML 檔案或資料 , 可透過 M$ DOM 物件來讀入文件

2.
M$ 開發工具寫資料庫的人, 都應該知道 ADO
       
ADODB 裡面有個Stream物件 , 可透過該物件讀檔,
       
再指定Charset,之後即可透過ReadText方法取回資料
       
如此就能解決編碼的問題囉 !

Sample :

Dim objStream As Object
Set objStream = CreateObject("ADODB.Stream")

With objStream
        .Type = 2
        .Mode = 3 
        .Open 
        .Charset = "UTF-8" ' 或其他編碼 
        .LoadFromFile "
檔案路徑+名稱
         取回結果 = .ReadText 
        ' PS :
也可透過 .SaveToFile 方法把檔案存檔 
        .Close
End With 

bgm 發表在 痞客邦 留言(0) 人氣()

您是否想回到Windows 9x/2000的搜尋畫面,按照下面的步驟,就可以取消 Windows XP/2003 的搜尋小幫手,回到傳統的搜尋畫面:

由 [開始]->[執行]->輸入 [regedit],並按下 [Enter],以開啟「登錄編輯程式」
展開 HKEY_CURRENT_USER -> Software -> Microsoft -> Windows -> CurrentVersion -> Explorer -> CabinetState
在右邊窗格,新增一個字串值 Use Search Asst,其值為 no
修改完畢,馬上生效。如果要回復小幫手,只要把 no 改成 yes,或著刪除這個機碼就可以了

bgm 發表在 痞客邦 留言(0) 人氣()

引用 http://www.ithome.com.tw/plog/index.php?op=ViewArticle&articleId=6287&blogId=620

淺談SQL Server的鎖定原理

neo_lin_42 | 02 Oct, 2006 10:21

在說明SQL Server的鎖定原理之前,首先來看一個基本的問題,為什麼要使用鎖定?我們可以從逆向思考的方式來回答這個問題,也就是不使用鎖定,會出現什麼問題,特別是當多人同時存取資料時,若不使用鎖定,可能會發生lost update、dirty read、nonrepeatable read與phantoms read等問題。這也是為什麼要使用鎖定的主要原因。


談到鎖定,就不得不談到交易處理(transaction)。所謂交易處理是指在一個工作單元中,執行的一系列資料操作。ATM跨行轉帳就是一個很典型的例子,這個工作單元中包含從轉出帳戶扣款與將金額存入轉入帳號兩個操作,這兩個操作必須有一致的結果,不是全部成功,確認最終狀態;就是全部失敗,回復原始狀態,沒有部分成功,部分失敗的情況,只有轉出沒有轉入或只有轉入沒有轉出都是不允許的。也就是交易處理具有不可分割性(Atomicity)、一致性(Consistency)、隔離性(Isolation)以及持久性(Durability)等特性。而鎖定機制便是為了實現交易的隔離性,好像此時資料庫系統是專屬你一個人的。

鎖定的範圍
在SQL Server可以鎖定哪些資源?依據鎖定的範圍可以分成RID 列級鎖定、Key 索引鎖定、Page 頁級鎖定、Extent 擴展鎖定(每8個Page為1個extent,用於SQL Server儲存空間的分配)、Table 表級鎖定,以及Database 資料庫級鎖定。

鎖定的範圍越小,耗用的資源越大;鎖定的範圍越大,耗用的資源越小。列級鎖定可以增加同時線上(concurrent)數量,但卻增加資源花費;頁級或表級鎖定則正好相反。SQL Server會衡量目前的concurrent數量與系統資源,自動管理鎖定的範圍,同時為了獲得最佳的鎖定效能,SQL Server提供一種動態鎖定的機制,也就適當列級鎖定耗用的資源達到某個程度時,SQL Server會自動將列級鎖定升級成頁級或表級鎖定。

鎖定的類型
SQL Server鎖定可以分成基本鎖定與特殊鎖定兩大類。基本鎖定又可分成共用鎖定(shared lock)與獨占鎖定(exclusive lock) 。一般而言,當Select資料時會使用共用鎖定,Insert、Update和Delete資料時會使用獨佔鎖定。特殊鎖定又可分成意圖鎖定(Intent lock)、更新鎖定(Update lock)、綱要鎖定(Schema lock)與大量新鎖定(Bulk update lock)。接下來,對常用的鎖定類型,簡單說明如下:

共用鎖定
當讀取資料時,SQL Server會使用共用鎖定,即使尚未結束,其他交易也可以獲得共用鎖定,也就是說多個交易可以同時讀取table、page、key和row。

獨佔鎖定
當修改資料時,SQL Server會使用獨佔鎖定。在交易結束之前,其他交易的鎖定請求都會被拒絕。一個資源只能有一個獨佔鎖定,當一個交易對某個資源進行獨占鎖定時,其他交易無法讀取該資源,由此可知,這種鎖定會限制了同時線上數量。

更新鎖定是共用鎖定與獨占鎖定的混合體。在修改之前會使用共用鎖定,其他交易可以讀取被鎖定的資料,但不可以修改。一旦開始修改時,就變成了獨占鎖定,其他交易無法讀取和更新被鎖定的資料,直到交易結束。

一個鎖定可以與另一個鎖定同時使用,這種特性稱為鎖定的相容性。相反的,若一個交易正在操作而鎖定資料,另一個交易必須等前一個交易結束後,才能繼續,則稱為不相容。相容性越好,表示支援的同時線上數量越大。哪些鎖定式相容的?哪些鎖定又是不相容的?一般的原則如下:
共用鎖定可以與獨占鎖定之外的其他鎖定相容。多個交易可以在相同資料上獲得共用鎖定,但沒有一個交易可以在已經獲得共用鎖定的資料上獲得獨佔鎖定。
獨占鎖定不可以其他鎖定相容。
更新鎖定只能與共用鎖定相容。

我們可以使用交易的隔離級別來設定鎖定的策略,以防止前面提到多人存取所可能出現的問題。SQL Server提供下列4種交易隔離級別,其特性簡單說明如下。
read uncommitted 會出現dirty read、non-repeatable read與phantoms等問題。
read committed 會出現non-repeatable read與phantoms等問題。
repeatable read 會出現phantoms的問題。
serializable 無

若未指定SQL Server預設使用read committed。在SQL Server 2005,提供了另外兩個基於資料版本的隔離級別,snapshot與Read Committed using Statement-level Snapshot(RCSI),使得讀取與更新的操作不會互相影響,加快交易的執行速度。

除了隔離級別的鎖定策略之外,您也可以使用鎖定提示來控制資料表的鎖定行為,以及覆蓋目前交易的隔離級別的鎖定策略。當隔離級別的鎖定策略與鎖定提示相衝突時, SQL Server是採用級別越小越優先的處理原則。例如,使用serializable隔離級別,若在交易中使用with (nolock)讀取資料,SQL Server會允許其他交易讀取資料。可用的表級鎖定提示摘要如下:
holdlock:當交易開始之後,交易結束之前,不允許其他交易讀取被holdlock的資料。
nolock:不使用任何的鎖定。
使用rowlock、paglock,tablock與tablockx來指定資料表的鎖定類型和大小。例如使用tablockx表示當讀取資料列時,在資料列所在的資料表上使用獨占索定。
readpast:忽略鎖定的資料列
updlock:當讀取資料使用更新鎖定,而不是預設的共用鎖定。當交易尚未結束前,不允許其他交易更新被updlock的資料,可避免non-repeatable read。

您可以根據個別的需要來組合這些鎖定提示,以獲得更加靈活、更有彈性的應用。例如,with (paglock, holdlock)表示在資料列所在的資料頁上使用hold lock。

有關SQL Server的鎖定原理,拉哩拉喳地介紹到此,相信大家對SQL Server的鎖定已有初步的認識。至於進一步的實作細節,還是那一句老話,多翻翻SQL Server的線上叢書囉!!



bgm 發表在 痞客邦 留言(0) 人氣()

本文將告訴您 4 GB 隨機存取記憶體 (RAM) 調整功能與實體位址擴充參數功能 (PAE)。

Boot.ini 檔案中的 /3GB/PAE 參數,適用在下列產品:

Microsoft Windows 2000 Advanced Server
Microsoft Windows 2000 Datacenter Server
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Small Business Server 2003

在 Windows 2000 Professional 或 Windows 2000 Server 系統上使用 /3GB 參數時,核心元件會使用「4 GB RAM 微調」功能載入記憶體空間,就像載入到 Windows 2000 Advanced Server 與 Windows 2000 Datacenter Server 一樣。這個功能可以讓裝置驅動程式開發人員在不用安裝 Windows 2000 Advanced Server 或 Windows 2000 Datacenter 作業系統下,就可以在這樣的設定中進行裝置測試。使用者模式的記憶體空間仍然限制在 2 GB。

當 Windows XP Professional、Windows Server 2003 Datacenter Edition 或 Windows Server 2003 Enterprise Edition 使用 /3GB 參數時,/3GB 參數 會在這些版本中具有同樣的執行效果。這個功能讓裝置驅動程式開發人員 不必安裝上面所列出的 Windows Server 2003 產品,就能測試驅動程式。此時使用者模式的記憶體空間限制在 3 GB。

警告在供 Active Directory 使用的生產環境下,Microsoft 支援使用 Windows Server 2003 標準版的 /3GB 參數。至於其他應用程式,如果應用程式廠商已在某種生產環境下進行測試,且願意支援使用這項功能的客戶,則 Microsoft 僅支援在此環境中使用 Windows Server 2003 標準版的 /3GB 參數。在使用這項功能的生產環境中,此參數支援 Microsoft Exchange Server 2003 和 Microsoft SQL Server 2000。請連絡您的應用程式廠商,以瞭解其應用程式受支援的情形。/3GB 參數可能導致部分應用程式產生與位址相依性或核心空間縮減有關的問題。除了上述情況,Windows Server 2003 標準版中的 /3GB 參數僅供開發與測試目的之用。

/PAE 參數讓開發人員可以藉由轉送 64 位元位址到核心模式元件,來執行相似的裝置測試。這個功能稱為實體位址擴充 (PAE,Physical Address Extension),而且可能無法在所有的晶片組中執行。任何超過 32 位元的位址,只要使用 Boot.ini 檔的 /nolowmem 參數,就一定能夠執行。這個參數會捨棄最低 4GB 位置的記憶體。

重要 Windows 2000 Professional 與 Windows 2000 Server 並不支援這些設定。這些設定僅能用來做測試用。在生產環境中,請不要使用這些參數,除非您正在使用本節上面項目符號清單所列出的產品。

在這些產品中,「4 GB RAM 調整」功能會為程式啟用 3 GB 使用者模式記憶體區域來使用。這個功能可以為使用者模式擴大虛擬位址的範圍,從 0x0000000 到 0xBFFFFFF (通常使用者模式的位址範圍是從 0x0000000 到 0x7FFFFFFF)。核心模式元件可利用的記憶體範圍是從 0x80000000-0xFFFFFFFF 到 0xC0000000-0xFFFFFFFF。我們不建議在生產環境中使用 Windows Server 2003 標準版的這項功能。

在 Windows 2000 Professional 或 Windows 2000 Server 的 boot.ini 檔案中使用 /3GB 參數,表面上可以賦予 3 GB 的使用者模式記憶體範圍。然而,從 0x80000000 到 0xBFFFFFFF 的記憶體位置會無法使用。因為核心模式元件目前受限於使用 0xC0000000 到 0xFFFFFFF 的記憶體範圍,開發人員只能在此範圍測試核心模式元件。

http://support.microsoft.com/?kbid=291988#appliesto

bgm 發表在 痞客邦 留言(0) 人氣()

相信許多人都為「該記憶體不能為read或written」而傷腦筋,大家不妨試用下列命令

重新注冊所有的dll


開始>>執行>. 輸入cmd>> 按「確定」,出現DOS窗口,在命令提示符下輸入

for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1

如果怕輸入錯誤的話,可以複製這條指令,然後在命令提示框點擊左上角的c:,貼上便不會輸入錯了。接下來你會看到畫面不斷地捲動,不過請耐心等待到完全停止,因為此時dll們還在找位置。 需要一至二分鐘的時間註冊,請耐心完成。

經測試幾台電腦,果然有效

bgm 發表在 痞客邦 留言(0) 人氣()

你常常需要作一些動態的簡報?需要作一些自我學習的內容?那就要看看這套Wink囉!

它可以把建立出來的檔案輸出成Macromedia Flash, Standalone EXE, PDF, PostScript, HTML ,好讓你的朋友或者客戶來輕易使用。

它主要的操作方式就是拖與拉(drag-and-drop ),而且支援Windows與Linux平台。

http://www.debugmode.com/wink/

bgm 發表在 痞客邦 留言(0) 人氣()

 

最近很多人喜歡把影片壓縮成較小的mpeg4檔,這樣方便傳遞跟交換。但是因為mpeg4可以支援的格式跟內容很多,往往無法順利播放。


這裡,就有一套我覺得還不錯的!起碼比大陸整理的要安全一點!


http://www.xpcodecpack.com/

希望對你有所幫助!

至於RealMedia跟QuickTime,如果不喜歡原廠播放器的人,可以用以下這兩個代替:

http://www.free-codecs.com/Real_Alternative_download.htm

http://www.free-codecs.com/QuickTime_Alternative_download.htm

這幾個播放套件共同使用的都是Media Player Classic,我覺得很好用。這裡有繁體中文版可以用

 

 

bgm 發表在 痞客邦 留言(0) 人氣()

商業智慧(BI ,Business Intelligence)


為何有了BI 企業還在用Excel?
資料倉儲(Data ware house) — 作者 杜奕鋒 @ 10:24

本文首載CNET

企業需要 BI 嗎?這是一個常常會被問到的問題。講 BI 對很多人而言可能還是太高深了,換角度來問這個問題可能比較容易思考…貴公司需要資料分析嗎?財務分析、成本分析、市場分析或是良率分析嗎?貴公司需要好的分析工具來加速分析的速度嗎?如果上述的兩個答案是肯定的,貴企業應該是需要 BI 的。


簡單地說, BI 就是分析工具。在早期尚未資訊化的時代,分析師藉由筆跟紙(頂多再多一台計算機),要花費大量的計算時間,才有可能從一個角度來進行數據的分析,當然如果老闆要再換一個角度來看數據,分析師則要再大費周章再把整個數據從弄一個角度再來進行分析。後來隨著資料化的發展, Louts、excel 等工具的產生,資料的整理與分析也更方便,此時,一方面藉由上述工具的幫助,另一方面基於市場需求,企業所要進行分析的數據量也就越來越龐大。

但由於這些工具並不方便於多角度的數據分析,再加上所要分析的資料量劇增,許多企業希望可以直接並即時地從企業運行的資料庫中來進行多角度的資料分析,其中儲存企業大量數據與資料的地方,我們就稱之資料倉儲( DW,Data Warehouse )而整個進行多維度資料分析的部份,即稱之為商業智慧( BI ,Business Intelligence )。

其實, 現在的問題是,是不是花了大錢,買了好的 BI 工具,就可以完成企業 BI 的夢想 ?之前 BI 工具呼聲喊得震天價響,但就我所知,有的企業花了大錢買了好的 BI 工具,可是那個買進來的工具確是叫好不叫座,到最後,企業內部的員工九成還是使用 Excel 來進行資料的分析。 BI 的成效不彰,原因可大至歸類為下列的幾點:

1. 金玉其外,敗絮其中 : 這是最常被看見但往往也是最重要的問題,前面已經提過了,商業智慧( BI )必須建立在資料倉儲( DW)的基礎上,因此單單有好的 BI 工具,但是底層的資料 倉儲卻沒有辦法針對上層 BI 工具所提的需求,提供即時而穩定的服務時,就像蓋房子一樣,明明是地層沒有打穩,可是卻要把大樓蓋得又高又美是不可能的。這種 情況下,再好的工具也就沒有輒。

2. 缺乏專業的資料分析人員 :電腦不論是多「超級」,還是比不上人腦聰明,它只是比人腦「快」而已。 BI 工具只是方便並加速資料數據的分析,但是資料分析的方向,以及有效並相關連資料的選擇,則還是要由人腦來決定的。也就是說,整個 BI solution 的導入與運作的過程中 還是需要一個熟悉資料的內容與架構並且有商業敏感度的人參與 (這 個人並不需要一定很懂 IT ,可是應該要資料的本身夠敏感)。然而現實情況是,大部份企業對 BI 工具本身抱了過高的期望,反而在導入的過程中,沒有適時地讓 這方面的人才來發揮他們的長才,並且熟悉 BI 的使用(甚至有些企業以為既然已經有 BI 了,就用不著這些人了)。最後,就搞得 BI 人員自己去搞自己的資料庫 分析,而這些人還是繼續用他們的Excel。

3. 資料未做適度的轉換 :資料儲倉中的資料,大多是由企業內部系統中的資料 庫轉進來的,因此這些資料不論是資料結構的定義上,或是資料本身,原本都是給系統程式來讀取與儲存的。例如在 RDBMS 的結構下,我們是用PK與FK的對 應來做為兩個資料表之間的關連,有些系統開發者的習慣比較好,會在資料庫中把這些規範出來,有些則不會。不過,不論如何,都還是利用資料庫的語法來做定 義,這樣的定義方式一般的資料分析人員大部份都是看不懂的。資料分析人員並不一定看得懂這樣的資料,因此對於這些資料,則需要做適度的轉換,才方便資料分 析人員的使用。

4. 缺乏資料庫系統人員的維護 :很多企業會誤會,買了 BI 工具安裝好可以順利的運作就大功告成了。但他並沒有想到一方面隨著時間的成長,資料倉儲中的資料也不斷地成長,另一方面, 資料倉儲中的資料也會隨著分析需求的改變及企業型態的改變而需要被調整 , 因此如果沒有資料庫系統人員隨時因企業的需求對資料倉儲中的資料(資料本身、 index、view …等)來進行維護,時間一久,資料倉儲中的資料,或許還 可以用,但是架構卻是呈現一團亂,這種情況下也一樣沒有辦法提供好的效能。因此在這樣的情況下,隨著資料的成長,每次分析結果產生的效能越來越差,最早一 張報表產生的時間一個小時,而後來卻要十個鐘頭,當然慢慢地,這樣的工具也就越來越不被分析師所接受了。

5. 缺乏好的呈現方式 : 完成 BI 的資料分析後所產出的報表應該要如何呈現給老闆看?呈現的方式夠不夠即時?如果老闆不喜歡這樣的呈現方式,或者,老闆必須長時間的等待才可以拿到 這樣的資料。此時,不論大家做了再多的資料分析,都不會得到老闆的青睞。既然如此,久而久之,大家就沒有人想再用這套工具了。

我個人一直覺得 BI 不能單單只視它為一種「工具」,而應該是從 solution 的角度來看待它。如果沒有完善的整體配套規劃,再好的 BI 工具最後也可能變 廢物。有趣的是,通常越好的工具,它需要的配套規劃也需要越完善(例如:導入顧問服務、完善人員的分工架構、資料倉儲的維護…等),相反的,那些不怎樣的 工具反而不需要太多的配套規劃。我想這應該就是 Excel 為什麼至今仍然是 BI 分析主流工具的原因之一。

 


bgm 發表在 痞客邦 留言(0) 人氣()

今天公司發下來一張a3的績效考評表
希望個人能先對自我績效作評等

真不知這是否對年終獎金及昇遷有影嚮

最近對公司給的薪資真得很不滿

就因為我和同期的同事是在金融業高峰時入行的,薪水談的很低
被人資半騙半哄的冀望獎金來讓年收入達到一定水準,所以月薪比起先前的工作少了近50%以上
原來說的19.5個月一年,在前年和去年金融業的不景氣下,縮水到15個月左右

真希望這次的績效改進能提高公司對我的認同(當然需要表現在薪水上)
如果沒有的話,看來又是要找新的工作了

利用這個公司的一些補助去考些証照,再轉業吧

bgm 發表在 痞客邦 留言(0) 人氣()

上星期五中午同事到COSTCO購物
順便幫我和聰吉各買了一台PICCO-Z 蜂鳥遙控直昇機 935元

結果下午就坐不太住了
去樓下的便利商店花了100元買了六個AAA電池

回家景民來借用掃瞄器
又去買了6顆新型的充電電池

玩性一下就過了
這兩天就沒有什麼動力去玩它了

真的是雙子座的性格嗎?

bgm 發表在 痞客邦 留言(0) 人氣()

2007

2006

有興趣的看一下兩年有什麼不同吧

bgm 發表在 痞客邦 留言(0) 人氣()

公司程式上線時有時要異動資料庫中的資料
但是沒法請DBA用匯入匯出的功能

要由測試機上把資料導入正式機只有用insert into指令

依下列流程能快速的產出這些指令

1.用SQL Analyzer將table的select 指令copy下來
2.用空白取代指令中的 [ 、] 
3.再來將各欄位copy下來(紅字欄位名稱)FincialTypeCode, Version, L1ItemCode, L1Item, L1Score, L1Weight
4.前面加上select cast('INSERT INTO L1Item(
5.再將3的字串加到後面
6.用「 as char(200)))+''','''+ rtrim(cast(」取代3字串中的「,」;char(200)可視情況修改
7.補上Values('''+rtrim(cast(
8.加上6取代後的字串
9.最後再補上  as char(200)))+''')' as ntext) as SQL from L1Item where Version=1
就可以直接將資料產生成insert into 指令了
如果資料太多SQL Analyzer會把指令截斷,要改用DTS匯出文字檔來處理

select cast('INSERT INTO L1Item(FincialTypeCode, Version, L1ItemCode, L1Item, L1Score, L1Weight) Values('''+
rtrim(cast(FincialTypeCode as char(5)))+''','''+ rtrim(cast(Version as char(2)))+''','''+ rtrim(cast(L1ItemCode as char(2)))+''','''+ rtrim(cast(L1Item as char(100)))+''','''+ rtrim(cast(L1Score as char(5)))+''','''+ rtrim(cast(L1Weight as char(10)))+''')' as ntext) as SQL
from L1Item
where Version=1

bgm 發表在 痞客邦 留言(0) 人氣()

Windows 小技巧: 變更輸入法順序
Windows 輸入法最令人垢病的地方, 就是不能隨意變更輸入法的切換順序. 常見的情況是在新增輸入法後, 輸入法切換的順序就變成跟以前習慣的不一樣, 而又沒辦法從控制台去做調整, 有時真的會被搞到快抓狂! 雖然網路上已經有人寫出調整輸入法順序的程式, 但要下載安裝總是太麻煩, 還是用最基本的 regedit 來處理吧!

Step 1. 開始 → 執行 → 輸入 regedit 按 Enter 鍵
Step 2. 展開 HKEY_CURRENT_USER → Keyboard Layout → Preload
Step 3. 數字: 1, 2, 3... 代表輸入法順序, 輸入法的設定值為:

00000404 美式鍵盤
e0010404 注音
e0020404 倉頡
e0030404 速成
e0060404 大易
e0080404 新注音
e0090404 新倉頡
e0200404 自然
e0810404 無蝦米

設定完成後, 重新登入或重新啟動電腦即可生效.

bgm 發表在 痞客邦 留言(0) 人氣()

windows提供reg.exe這個console設定程式

相關用法可以參考 www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/reg.mspx

另外可用
add reg_namefiles.reg /f

regedit /s xxx.reg

將reg檔匯入

以下為範例,設定proxy

reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t reg_sz /d 88.8.102.177:3065 /f

REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [\\Machine\]FullKey
Machine 遠端電腦的名稱 - 省略到目前電腦的預設值
遠端電腦上只有 HKLM 和 HKU 可供使用
FullKey ROOTKEY\SubKey
ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
SubKey 選取的 ROOTKEY 之下的登錄機碼的完整名稱

/v 要新增的選取機碼之下的值的名稱

/ve 為機碼新增空的值名稱 <沒有名稱>

/t 登錄機碼資料類型
[ REG_SZ | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN |
REG_DWORD | REG_BINARY | REG_DWORD_LITTLE_ENDIAN |
REG_NONE | REG_EXPAND_SZ ]
省略的話,預設是 REG_SZ

/s 指定一個字元放在您的 REG_MULTI_SZ 資料字串中作為分隔字元之用。
如果省略的話,使用 "\0" 作為分隔字元


REG QUERY KeyName [/v ValueName | /ve] [/s]
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]
/d 即將新增指派給登錄 ValueName 的資料

/f 不須提示,強制覆寫現存的登錄項目

範例:

REG ADD \\ABC\HKLM\Software\MyCo
將機碼 HKLM\Software\MyCo 新增到遠端電腦 ABC

REG ADD HKLM\Software\MyCo /v Data /t REG_BINARY /d fe340ead
新增一個值 (名稱: Data, 類型: REG_BINARY, 資料: fe340ead)

REG ADD HKLM\Software\MyCo /v MRU /t REG_MULTI_SZ /d fax\0mail
新增一個值 (名稱: MRU, 類型: REG_MUTLI_SZ, 資料: fax\0mail\0\0)

REG ADD HKLM\Software\MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%%
新增一個值 (名稱: Path, 類型: REG_EXPAND_SZ, 資料: %systemroot%)
注意: 在擴充字串中使用兩個百分比符號 ( %% )

bgm 發表在 痞客邦 留言(0) 人氣()