2009年12月30日 星期三

Windows 7 XP Mode 的測試方法

由於最近年底到了,許多人都換筆電,當然我也不例外 ~"~ 為了要提高工作的效率這是必須的阿 ~~ 跳回正提,因為 Windows 7才剛剛上市沒多久而大多數新筆電都安裝windows 7的作業系統,所以有時候部分東西不支援就會需要使用XP的作業系統,這時候有幾種方式

1. 重新安裝XP作業系統 (需要原版XP光碟)
2. 利用虛擬機器如 VMWare 或 Vitural PC來安張XP作業系統等 (需要原版XP光碟)
3. 利用 Windows 7 專業版或是旗艦版的 XP Mode (不需要原版光碟)

以方便性來說當然是3最方便不過有兩個前提

1. Windows 7 必須是專業版或是旗艦版
2. CPU必須有支援硬體虛擬化

首先先下載 測試硬體虛擬化程式
將此程式開啟會出現下列幾種訊息

1. This tool does not run on this operating system
代表你的作業系統並不支援硬體虛擬化~~支援的作業系統如下

* Windows 7 (Home Basic、Home Premium、Professional、Enterprise、Ultimate)
* Windows Vista SP 1, 2 (Home Basic、Home Premium、Business、Enterprise、Ultimate)
* Windows XP SP 3 (Professional)、Windows XP SP 2 (Professional)

2. This computer does not have hardware-assisted virtualization
此電腦不含硬體虛擬化功能~到表您不能使用 XP Mode 殘念 @@

3. Hardware-assisted virtualization is not enabled on this computer
硬體虛擬化技術是可以在此電腦上執行~不過必須到BIOS把他打開

4. This computer is configured with hardware-assisted virtualization
此電腦硬體虛擬化已經開啟可以正常使用XP Mode

5. The configuration of this computer is not compatible with Windows Virtual PC
電腦的Intel Trust Execution Technology(Intel TXT)與 Windows Virtual PC 不相容
所以要進到BIOS把IntelTXT關閉~就可以使用了

2009年12月29日 星期二

C# Winform 不同語系的切換

當您所撰寫的Winform需要做語系切換時,通常有下列幾種作法

1. 資料庫切換語系 : 將Winform上的控制項與相對應的文字寫入資料庫,在做語系切換時讀取資料庫裡對應的控制項與對應的文字進行轉換。

2. XML切換語系 : 將Winform上的控制項與相對應的文字寫入XML檔案,在做語系切換時讀取控制項名稱與XML裡對應的文字進行轉換。

3. 利用資源檔切換語系 : 利用Form上的語言與對應的 *.res 進行切換

以上三種方式前面兩種方式較簡單就不在此敘述,第三種方式在設定上較繁瑣但是若要修改卻相當方便,所以我就針對第三種方法做說明。

要開發之前我們可以先到這裡下載控制項 這裡有提供現成的 Sample 程式,我們可以利用調用此控制向來完成我們要的切換語系功能。

1. 先建立一個C# Winform 表單名稱為 Mainform (配合dll命名規則)


2.將下載下來的專案建置可以得到 Infralution.Localization.dll 的控制項,在專案工具列中按右鍵 -> 選擇項目...


3.選擇剛剛建置好的dll,控制項 CultureManager 會加入到工具列


成功加入到工具列


4. 將此控制項拖拉到表單,並將其改名為 "cultureManager" 改名原因是為了要配合此項dll的命名規則,另外也拖拉一個選單將 "menustrip1" 改名為 "menustrip",在此選單下增加中文以及英文選單。


5. 接下來先加入兩個按鈕,將按鈕一的text改成"確定",按鈕二的text改成"取消",表單的text改成"更改語系"。

以上的步驟完成了 "預設" 表單配置。

6. 接下來建立中文表單的資源檔,修改表單的Language改成"中文(台灣)"和Localizable 改成 "true"


然後修改表單text為 "更改語系 (中文)" 建立完成後可以發現到多了一個表單的資源檔


7. 接著建立英文的資源檔和上面中文方法相同,將表單的Language改成"英文(美國)"
將表單名稱改為 "更改語系 (English)" 將選單和按鈕名稱改為英文,名稱可自行決定


程式碼的部分請按照下列來作修改


完成後就可以利用選單來切換語系了~

Source code Download : Change Language

2009年12月24日 星期四

Windows 7 DEP 所產生的問題

在之前因為使用TWAIN而應用程式在Windows 7上執行時會因為DEP的關係無法正常運作,DEP是什麼呢?簡單來說 DEP全名叫做「Data Execution Prevention」他是從Windows XP SP2時開始提供的功能,是一種防止數據執行的安全性服務,透過監視記憶體中是否有"不可執行的程式碼"數據,若找到此種數據系統會將其標示成"不可執行",所以當DEP啟動後便會對各種程式進行監視,防止病毒在某些暫存記憶體裡執行程式。

更簡單來說就是,當成是在windows 7上執行時,程式執行無反應或是有問題,因此我們需要將DEP這個功能關閉,因為在XP環境下我尚未碰過此問題因此我就針對windows 7 來做說明。

首先使用系統管理者開啟 "命令提示字元" :


接著輸入 bcdedit.exe /set {current} nx AlwaysOff 按下Enter


Cmd 會顯示"操作順利完成"然後將電腦重新開機


如此一來就可以關閉DEP模式順利的執行應用程式了。

推薦一個好用的Winform 控制項 (部分免費)

目前的工作內容大多是開發應用程式,而這些應用程式往往會需要一些美觀的控制項,如此才可以提高使用者的使用意願,但是天下沒有白吃的午餐,無論是控制項或是Icon大多公司都會請美工人員專門設計,原因是因為市面上所賣的Icon或是控制項,價錢皆不會很親民,所以除非是有需要產品化的應用程式,否則購買這些還真可以說是一筆不小的成本。所以我今天介紹一個還算不錯用的控制項,雖然不是全部免費不過也可以算是不錯的工具了。

首先先到此網站



右邊可以下載此安裝包



在之前是可以直接下載的~後來不知道時麼原因改版時就變成註冊Email,他會將下載位置寄到您的信箱,我想這樣做可能也是方便記錄一些資訊吧。

下載完成之後安裝您就會在 Visual Studio 200x 的控制項裡看到



安裝完也提供一些Sample給您參考 ~ 真是貼心阿~



目前來說 Ribbon、Navigator、Workspace等等都是要收費的,雖然沒有全部免費,不過也已經算是很好用的控制項了。

聲明 : 我可是沒有拿任何廣告費用喔 ~ 純屬個人推薦 ~

Windows 7 64bit 執行應用程式出現錯誤

因為目前新的電腦大多有搭載windows 7,所以在今天終於碰到一個問題,在 Windows 7 (64bit) 上安裝應用程式時無法啟動,會出現錯誤。這其實並不是windows 7的Bug,而是在應用程式編譯時組態設定錯誤,修正此錯誤的方法為 : 編譯前將 "目標平台" 設定為 "x86" ,設定方式如下

C# and VB.Net :

1. 先選擇上方的 "方案平台" 下拉選擇 "x86" 若沒有顯示 "x86" 請點選 "組態管理員"


2. 組態管理員內新增專案平台

組態管理員 :


新增專案平台 :


3.選擇您所需要的方案組態(Debug、Release)與搭配的平台這裡要選 "x86" 否則在Win 7 64bit上執行會出現程式錯誤無法開啟



從上面的設定就可以讓應用程式在win 7 64bit上被開啟,會造成此錯誤的主要原因是因為,應用程式裡有32bit的dll而在win 7 64bit上他會判斷錯誤所以必須要再編譯前先將平台改成x86如此一來即可以在win 7 64bit上執行您自己製作的應用程式。

新建立的部落格

看標題就應該很明白了 ~ 因為程式碼真的是多到難以掌控,所以建立一個空間,這裡記錄了相關的程式片段以及使用方法,當然也包含在網路上找的的Code或是技術分享的資料,也希望能夠在網路上與朋友技術交流 ~ 若有任何問題也歡迎大家一起討論~~