歡迎跟我連絡

本頁最下方有Web MSN可以直接跟我交談喔!
免安裝程式...哈哈 歡迎聊天
顯示具有 XP Embedded 標籤的文章。 顯示所有文章
顯示具有 XP Embedded 標籤的文章。 顯示所有文章

2009年8月14日 星期五

防止程式重複啟動的方法(二)

曾經在一篇文章介紹過這個方法(請參考如何讓你的程式只能啟動一次 in C#)

今天再紹另一種方法 System.Diagnostics命名空間中的Process.GetProcessesByName…

範例程式如下:

Using System.Diagnostics;

...

private void FormMain_Load(object sender, EventArgs e)
{
       if (Process.GetProcessesByName(

                  Process.GetCurrentProcess().ProcessName).Length > 1)           

      {
          Dispose();
      }

}

在Form Load Event中,新增這段程式碼即可...

 

2009-8-12 下午 12-30-53

2009年8月5日 星期三

新一代的Windows XP Embedded

新版的XPE除了集合前兩代的功能(2007 Feature Pack也算一代),新增了下列功能
1.Microsoft Silverlight:跨瀏覽器、跨平台 plug-in,帶給您全新的媒體體驗.
2..NET Framework 3.5 :Windows 專用的最新 managed 程式碼程式設計模組.
3.支援 Windows Server 2008 (RDP 6.1):包含安全性及管理技術,可使裝置完美連結 Windows Vista,並使用 Windows Server 2008 的全新功能.
3.Windows Media Player 11:包含全新的媒體功能,可有效協助管理數位音樂、相片及影像媒體櫃.
4.Internet Explorer 7 :進一步改善瀏覽、搜尋、列印及 RSS 摘要存取等功能.
5.Windows Server Update Services (支援):軟體更新服務.
6.System Center Configuration Manager (支援):可全面評估、安裝及更新裝置的解決方案.
7.MBSA :Microsoft Baseline Security Analyzer 工具.
8.Future Platform Innovation (功能與技術) .



Windows Embedded Standard 2009 Target Designer



Navigating Windows Embedded Standard's Target Designer


開發人員可將 Windows Embedded Standard 用於各種智慧型、連線式及服務導向的先進商業或消費用途裝置,亦可執行數千種現有的 Windows 應用程式及驅動程式,範圍涵蓋精簡型電腦至多功能印表機。

高階機上盒
加油機 (Fuel Pumps)
全功能 Point Of Service 裝置
遊戲裝置
家用自動化閘道設備 (Home Automation Gateway)
工業控制器
智慧型應用裝置
多媒體網際網路裝置
Kiosk
媒體伺服器
Point Of Service 行動裝置
監控裝置
多功能印表機
可連結網路的媒體裝置與伺服器
使用 Windows 作業系統的終端機

前往下載(試用版,期限為120天,並提供完整功能 )

2008年8月29日 星期五

IPSEC Services 無法啟動

昨天因為要使用VPN,突然發現IPSEC Services 無法啟動,使得撥接程式無法撥接...
仔細查了一下,發現Winsock掛了...-_-"
解決方式:開始-執行,輸入"CMD",跳出Console視窗,在DOS提示符號後輸入"netsh winsock reset"執行,然後重新開機就解決了...

順便介紹一下IPSEC Services (IP 安全性服務):
微軟: 管理 IP 安全性原則並啟動 ISAKMP/Oakley (IKE) 及 IP 安全性驅動程式。
補充: 協助保護經由網路傳輸的資料。IPSec 為一重要環節,為虛擬私人網路 (VPN) 中提供安全性,而 VPN 容許群群組織經由因特網安全地傳輸資料。在某些網域上也許需要,但是一般使用者大部分是不太需要的
依存: IPSEC driver、Remote Procedure Call (RPC)、TCP/IP Protocol Driver
建議: 手動

2008年3月21日 星期五

WindowXP開機程序

當打開電源啟動電腦時,電腦將會啟動存放在BIOS中的POST(電源啟動自我檢測,Power On Self test)程序,POST主要的工作是對電腦各硬體設備做好初始設定與基本測試工作,以確保電腦能正常運作.例如確認記憶體大小及硬體設備(鍵盤、顯示器、磁碟機、Parallel Port、Serial Port、系統時間等)是否存在及運作正常,一旦電腦執行完本身的POST程序之後,其它裝在電腦中帶有自己BIOS(Basic Input/Output System)的介面卡(通常是顯示卡),也會執行其自定的POST工作程序.
結束完POST的檢測工作後,接下來會根據定義在BIOS中的開機順序來選擇開機裝置,通常BIOS定義的搜尋順序是[Floppy][HDD][CD-ROM][USB],使用者可以根據實際需要自行修改BIOS開機裝置搜尋順序,則其將會進行如下圖所示開機裝置順序的尋找動作:

但是以目前的多數的電腦,通常會以硬碟作為開機的Boot Device.
當硬碟被決定為開機裝置後,BIOS會將位於開機硬碟的第一個磁區(即MBR,CHS[001],Cylinder/Head/Sector)前面446 Bytes的啟動程式載入記憶體中執行,此時BIOS就將執行權交給MBR而功成身退了.MBR中的啟動程式之主要工作是搜尋MBR中的硬碟分割表(Partition Table)記錄,以找到啟動分割區(Active Partition)所在位置,即硬碟分割表中的各分割區記錄的第一個Byte(啟動狀態)若標示為80(16)者,則該硬碟分割區即為啟動分割區(又稱為系統分割區),一個硬碟最多只會有一個分割區是啟動分割區.若MBR無法從硬碟分割表中得知系統分割區的位址所在或硬碟分割表己毀損,則會顯示[Invalid partition table]錯誤訊息.

當MBR啟動程式從硬碟分割表中得知系統分割區(System Partition)所在位址後,其會將位於系統分割區之開機磁區(Boot Sector,即該分割區的第一個磁區)中的開機程式(Boot Program)載入到記憶體執行,並依照開機程式中的設定去找尋NTLDR程式的所在位置,以便載入NTLDR檔案到記憶體執行,並且同時將控制權轉交給NTLDR而結束MBR啟動程式的工作.

NTLDR是一個隱藏唯讀系統檔案,也是NT系統的開機管理程式,其主要負責的工作有控制[作業系統的選擇][硬體的檢測][WXP作業系統的核心程式載入]等。
NTLDR會尋找並載入Boot.ini、Bootsect.dos、Bootsect.w40、NTdetect.com、NTbootdd.sys等檔案.
首先會先載入Boot.ini,開啟作業系統清單,讓User選擇進入的作業系統.(如果只有一個OS,你部會看到這畫面)

然後載入NTdetect.com,偵測目前電腦安裝了那些硬體元件及其相關的設定資訊,並將其所收集到的資料建立成硬體清單(H/W List)傳遞給NTLDR使用.以備核心初始化階段(Kernel Initiation Phase)建立H/W註冊機碼時使用.一般來說,Ntdetect.com會偵測下列硬體元件:匯流排/介面卡類型、顯示卡、鍵盤、通訊埠(Communication Ports)、平行連接埠(Parallel Ports)、軟碟、滑鼠等裝置,同時還會收集系統韌體資訊,例如系統的日期和時間。下面就是載入NTdetect.com時的畫面.

但是如果你有多個硬體設定檔的話,

在載入NTdetect.com前會先出現這個畫面

到底要啟動哪些裝置或這些裝置到底要使用什麼樣的設定,還有那些服務要啟動,那些服務不啟動,這些都是定義在硬體設定檔中.
接著NTLDR將會載入WXP的核心程式Ntoskrnl.exe到記憶體,但並未將其做初始化(Initialize)的動作,此時也正式進入了核心載入階段,接下來就會載入硬體抽象層(Hardware Abstraction Layer)Hal.dll的程式碼至記憶體。接著再將控制權交給Ntoskrnl.exe,就是我們常在[工作管理員]看到的兩個最重要的Porcess,
[System Idle Process]及[Taskmgr.exe](Task Manager)

這樣就開機完成了.

2008年3月20日 星期四

Dual Boot in WindowXP

前文提到了Window XP的開機程序,要怎做到Dual Boot呢?
其實也經有約略提到,載入Boot.ini後,開啟作業系統清單,讓User選擇進入的作業系統,如下畫面:



就是Boot.ini,可以設定作業系統清單.通常你可以於[C:\]這裡找到它,或是利用[系統設定公用程式]([開始][執行],輸入[msconfig])去檢視它.

以我的Boot.ini為例,內容如下:

NTLDR載入我的Boot.ini後,會出現
[Microsoft Windows XP Professional]
[Microsoft Windows XP Embedded]
讓我選擇,若不選會直接進入,等30秒後會進入[Microsoft Windows XP Professional].
語法介紹:
Boot.ini 檔案是由[boot loader]和[operating system]兩部份[Section]所構成
[boot loader]
timeout:設定於x秒鐘後未選取的話,則使用預設作業系統進入.(與default搭配)
default:預設的作業系統.(與timeout搭配)
[operating system]
multi(a)disk(b)rdisk(c)partition(d)\WINNT="e"
  (a):定義開機分割區所在的硬碟控制器(Disk Controller)編號,第一個有效的編號為0(0,1,2...).
  (b):這個值永遠是 0,即保留未用之意.
  (c):定義開機分割區在(a)硬碟控制器下所在的實體硬碟編號,第一個有效的編號為0(0,1,2...).
  (d):定義開機分割區在(c)實體硬碟下所在的分割區編號,第一個有效的編號為1(1,2,3..).XP的分割區編號是先由主要分割區(Primary Partition)起算,然後再計算至邏輯分割區(Logical Partition).
  (e):作業系統名稱,可以自由命名.
大致的設定就這樣,就可以使用Dual Boot,還有一點你的作業系統要灌進去那個Partition喔.不然有選項,還是無法開機,哈哈...

2008年3月12日 星期三

XP Embedded - Component Database manager

先前文章提到如何透過Target Analyzer得到PMQ File,再利用Component Designer將PMQ File轉成SLD File.
接下來就要利用Component Database manager,將Component的SLD File匯入XP Embedded Database中,變成一個元件(Component),提供Target Design時使用.
以下是操作步驟:
開啟Component Database manager,會是長的像下面一樣,在[Database]頁籤中按[Import...]

選取你要匯入的SLD File,執行匯入的動作,速度很快一轉眼的時間就完成了
然後可以到[Component]頁籤中,找到你匯入的元件,如下圖所示

然後就完成了,準備Target Design....待續

2008年3月11日 星期二

XP Embedded - Component Designer

上篇文章中利用Target Analyzer(TAP)得到了*PMQ後,就可以進行元件設計的工作.
元件設計分兩種方式:
1. 利用直接匯入PMQ File,產出SLD File,通常用於Hardware方面
2. 直接利用Component Designer產生SLD File,這部份通常是用再User Component,Custom Shell或一些沒有內建於XPE Database中的驅動程式,需要透過直接New一個新的SLD的方式來達成
這裡先只介紹(1),至於(2)的部份[比較重要的部份],留待後面再介紹.

開啟Component Designer,如同底下畫面,然後選[File][Import...]
選擇你所要的*.PMQ File


然後按[Start]


開始Import PMQ File


Import結束,按[Close]


就會看的你的Hardware Component


按[SAVE],Key入你所要的檔名,存成*.SLD File

大功告成了,準備下一步,將SLD File匯入Embedded Database....待續


XP Embedded - Target Analyzer

這是一個很重要的步驟,最主要的目的是為了分析Target Machine的Device組成.
以便將來可以於XPE資料庫中找到相容的驅動程式於Image Build時可以預先載入Target Machine,不必再去一一安裝Driver,這用於大量複製是很重要的一件事,你可以想像一下,萬一你要賣出1000台產品前,必需一部部安裝完顯示卡驅動程式,音效驅動程式,網路卡驅動程式....再交給顧客,昏倒......
至於如何做呢?
1. 於Target Machine安裝完整版的Windows XP Professional.
[XP Embedded 相當於客製化的 Windows XP,所以Target Machine必須要是80x86的硬體架構要可以安裝Windows XP,如是其他架構 & CPU 請改用WindowCE]
2. 安裝完所有的驅動程式
[讓所有的Device可以正常的運作,系統裝置管理員中沒有黃色驚嘆號的裝置]



3. 將 \Program Files\Windows Embedded\utilities\tap.exe Copy to Target Machine執行
4. 執行後你會得到一個叫做devices.pmq
檔案格式是XML所寫成的Device 描述檔
大概長的像以下這樣


5.恭喜你,然後你就可以準備下一個步驟了...

Create Custom Embedded System Procedure 簡介


以下將針對如何利用Microsoft Windows Embedded Studio如何的產生出

客製化的XP嵌入式系統做一個說明,步驟大致如下:

1. 分析Target Machine的硬體組態並產生 *.PMQ File.


2. 將PMQ使用Component Designer檢查分析是否有可以相容的驅動程式並產生


*.SLD File.


3. 將SLD(A Component)使用Component Database Manager匯入元件資料庫


4. 根據你的需求使用Target Designer將所需的Windows元件及Target Hardware


Component加入你的系統物中產生*.SLX File


5. 進行相依性檢查


6. Build Image


7. Copy Image (Files & Folders) to Target Machine


8. 準備進行第一次開機FBA(First Boot Agent)





基本上依照上面步驟就可以產生出客製化的XP嵌入式系統,當然還有很多細節,以後會再詳細一一介紹



Window XP Embedded Install Procedure (含SP2 & Feature Pack 2007)

安裝XPE的步驟不困難但有點繁瑣,因為很多地方都不會提示你做[Reboot]的動作. 萬一少了這些動作將會導致整的過程失敗,而必須重來.
以下針對Windows XP Embedded SP2 Feature Pack 2007 features的安裝步驟做個簡介:

放入第一張光碟[#此裝光碟又名WinP,可以用來開機喔]
(1)在整個安裝過程中,最好停止你的防毒軟體,尤其是"卡巴斯基".
(2)安裝[tools Setup].
(3)安裝[Database Engine Setup]安裝完畢後重新開機.

放入第二張光碟
(1)安裝[Database Setup][安裝後可以看一下\Windows Embedded Data 資料夾大小約為2.73Gb] .
(2)安裝[remote Boot Setup] .

放入第三張光碟
(1)Stop SQL Server .

(2)安裝[Database Engine Update] .
(3)重新開機一次 .
(4)安裝[tools Update] .
(5)重新開機一次 .
(6)安裝[Database Update] .
(7)重新開機一次 .

安裝中文套件
(1)中文化套件-SP1 .
(2)中文化套件-SP2 .
#若無可以略過,但是如果沒在此步驟安裝的話,後面再裝也沒有用了 .

放入第四張光碟[#Feature Pack 2007
(1)安裝[Tools Update] .
(2)重新開機一次 .
(3)安裝[Database Update] .
(4)重新開機一次 .
(5)安裝[MUI Resource] .

大功告成 安裝完後我的Windows Embedded Data 資料夾大小約為3.8Gb ,供你參考.

如果萬一,你開不起來,安裝失敗,請你將所有東西解除安裝,再砍掉所有資料夾重來上步驟一次 .

MSN狀態(我在線上時,可以跟我交談喔)