tag:blogger.com,1999:blog-52803279299461498432024-03-13T07:40:45.634-07:00陳勤達的部落格Unknownnoreply@blogger.comBlogger47125tag:blogger.com,1999:blog-5280327929946149843.post-67639436305528610732009-07-17T00:27:00.000-07:002009-08-31T08:58:12.058-07:00How to improve your hard disk speed without upgrading the higher hardware<p></p><br />說明:<br />如何不透過硬體升級的方式(包括購買新的主機版、CPU、顯示卡或 SATA 硬碟)來改善你的電腦硬碟速率?這個主旨在許多網路資源受到相當廣泛的討論,詳見參考網址(僅供參考),但如何以現今的軟體技術一次性全盤了解有什麼樣的方法可以增進硬碟的速率(意指讀取和寫入速度)?當然,影響硬碟的速率的因素很多,例如:硬碟轉速、溫度、電腦匯流排速度等,本篇將焦點關注在如何使用軟體的方式(意指安裝軟體在電腦作業系統裡面)來改善電腦硬碟速率。<br /><br />先決條件:電腦實體記憶體要夠大,如果是 Windows XP 至少要 2GB 以上,Windows Vista 至少要 3GB 以上。<br /><br />解決方式:<br />同時考慮使用虛擬硬碟、虛擬硬碟快取和虛擬系統快取。<br /><br />虛擬硬碟是使用軟體的方式透過緩衝技術讓實體記憶體的部份在作業系統裡面以硬碟的形式(虛擬裝置)呈現,故在作業系統層級中,虛擬硬碟就是一顆一般的硬碟裝置,通常以一個硬碟分割區的方式加入,但其傳輸速度卻比實際一般硬碟快上數十倍,可先行參閱「SuperSpeed RamDisk虛擬硬碟,加快電腦操作速度!」參考網址;對於使用者層級中,虛擬硬碟分割區與一般實體硬碟分割區並無不同,故可將諸如暫存檔案或目錄的位址指向此分割區硬碟,像是虛擬記憶體檔案 pagefile.sys、使用者暫存目錄 %SystemDrive%\\Documents and Settings\%UserName%\Local Settings\Temp、Internet Explorer 暫存目錄 %SystemDrive%\\Documents and Settings\%UserName%\Local Settings\Temporary Internet Files 等,此時當在執行程式或瀏覽網頁時,由於虛擬硬碟的讀寫使用了實體記憶體,就會發現在執行和瀏覽的時候明顯感覺更順暢、更有效率。<br /><br />虛擬硬碟快取是使用軟體的方式透過快取緩衝技術讓實體記憶體的部份作為硬碟快取的部份形式,可先行參閱「SuperSpeed SuperCache v3.0.2.0設定探索與使用盲點」參考網址;一般硬碟快取通常為 1MB ~ 8MB 不等,理論上硬體快取記憶體愈大時,使用者需要存取的檔案就愈有可能存在快取記憶體裡面,此時就如同虛擬硬碟的讀取方式以原本一般硬碟快上數十倍的時間快速回應使用者,此時當執行程式或玩遊戲需要在短時間內快速存取多個檔案時,就會明顯感覺更順暢、更有效率。<br /><br />虛擬系統快取是使用軟體的方式透過緩衝技術讓實體記憶體的部份預先載入欲執行的應用程式(.exe)或動態連結函式庫(.dll)等相關檔案,可先行參閱「EBoostr & SuperCache & RAMDISK - EBoostr」參考網址;一般作業系統在開啟執行一個程序時,通常會先將程序所需要的應用程式和相關的函式庫載入到實體記憶體中。理論上使用者開啟執行預先已載入至虛擬系統快取的程序時,此時即可直接透過記憶體的速度執行該程序,而不需要透過讀取一般硬碟,當許多共用的函式庫已預先載入至虛擬系統快取時,在開啟程序時就會感覺到更順暢、更有效率。<br /><br />參考網址:<br /><br />虛擬硬碟:<br /><a href="http://briian.com/?p=5551">SuperSpeed RamDisk虛擬硬碟,加快電腦操作速度! </a><br /><a href="http://forum.pcdvd.com.tw/showthread.php?t=554130">[心得]有2G以上RAM的可以參考</a><br /><br />虛擬硬碟快取:<br /><a href="http://www.dk101.com/Discuz/viewthread.php?tid=96038">SuperCache II 讓你的硬碟效能爆增十倍以上</a><br /><a href="http://tw.myblog.yahoo.com/jw%21mZZPvh.FHxgV2AHuEi89Phs-/article?mid=908&prev=936&next=834%20">SuperSpeed SuperCache v3.0.2.0設定探索與使用盲點 </a><br /><a href="http://www.coolaler.com/showthread.php?t=164349">SuperSpeed SuperCache II v1.1.16.0</a><br /><a href="http://blog.teatime.com.tw/1/post/177">Tommy 碎碎念 : 如何避免安裝 SuperCache II 之後, 無法正常開機的問題</a><br /><br />虛擬系統快取:<br /><a href="http://blog.xuite.net/roilyoko/roilyoko/25246009">EBoostr & SuperCache & RAMDISK - EBoostr</a><br /><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-3818752798653978492009-03-27T01:59:00.000-07:002009-03-27T02:09:38.918-07:00VMware Workstation 無法叫出 SoftICE 畫面<p><br />問題描述:<br />在做用 VMware Workstation 時,正常安裝 DriverStudio ,手動啟動 SoftICE 成功後,按下 Ctrl+D 無法叫出 SoftICE 的畫面。<br /><br />解決方式:<br />原因可能是螢幕沒有重新整理,因為 SoftICE 是以全螢幕方式調用,所以編輯 .vmx 檔案加入下面兩行:<br />vmmouse.present = "FALSE"<br />svga.maxFullscreenRefreshTick = "5"<br /><br />參考網址:<a href="http://bbs.driverdevelop.com/read.php?tid=103413">http://bbs.driverdevelop.com/read.php?tid=103413</a><br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-86537190066365109322009-03-27T01:51:00.000-07:002009-03-27T01:59:19.321-07:00移除 Dr.eye 8 Office Addin<p><br />問題描述:<br />在安裝 Dr.eye 8 後,通常會自動 Addin 所有已安裝的 Office 系列加入一個工具列方便 Dr.eye 使用,但是若不想要使用這個工具列時,將工具列關閉下次打開還是會顯示,造成打開 Office 系列時載入延遲和版面不美觀。<br /><br />解決方式:<br />1. 刪除或變更目錄下 安裝硬碟機:\Program Files\Inventec\Dreye\DreyeMT 的檔案名稱:<br />DreyeWdAddin.dll - Microsoft Word<br />DreyeOutlkAddin.dll - Microsoft Outlook<br />DreyePptAddin.dll - Microsoft PowerPoint<br /><br />注意事項:<br />如果還原刪除或變更的檔案名稱好像不會還原原來的工具列。<br /></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-75016223119545114812009-02-17T21:40:00.000-08:002011-08-02T00:11:29.638-07:00Unlocker .NET<p><a href="http://www.cuteofdragon.idv.tw/blog/2009/02/18/Unlocker.NET.dll.zip">下載 Unlocker.NET.dll</a><br /><br />軟體名稱:Unlocker.NET.dll<br />版本:v 1.0<br />軟體作者:cuteofdragon<br />軟體授權:學術使用免費軟體<br />軟體類型:Library<br />軟體開發:Visual Studio .NET 2005 C#<br />發佈時間:2009/02/18<br /><br />簡介<br />Unlocker .NET 是一個純粹採用 .NET C# 撰寫的 dll,目的為處理在 Windows 檔案系統下強制關閉正在被其它程序使用的檔案 Handle,使目前正在處理的程序可以對該檔案進行讀取或刪除等動作。<br /><br />原理說明<br />Unlocker .NET 主要使用到 Microsoft 未公開文件的 ntdll.dll 裡面的函式,透過 .NET Interop 技術呼叫原生 Win32 函式,並揭露如何將 C-Style 函式指標轉換成 .NET C# delegate 型式。以下說明相關技術實作。<br /><br />所使用到的 ntdll.dll 函式指標原型宣告如下:<br />typedef DWORD (WINAPI *PNtQueryObject)( HANDLE, DWORD, VOID*, DWORD, VOID* );<br />typedef DWORD (WINAPI *PNtQuerySystemInformation)( DWORD, VOID*, DWORD, ULONG* );<br />typedef DWORD (WINAPI *PNtQueryInformationFile)(HANDLE, PVOID, PVOID, DWORD, DWORD );<br /><br />載入函式指標方法:<br />PNtQueryObject NtQueryObject;<br />PNtQuerySystemInformation NtQuerySystemInformation;<br />PNtQueryInformationFile NtQueryInformationFile;<br /><br />NtQueryObject = (PNtQueryObject) GetProcAddress( GetModuleHandle( _T( "ntdll.dll" ) ), _T("NtQueryObject") );<br />NtQuerySystemInformation = (PNtQuerySystemInformation) GetProcAddress( GetModuleHandle( _T( "ntdll.dll" ) ), _T("NtQuerySystemInformation") );<br />NtQueryInformationFile = (PNtQueryInformationFile) GetProcAddress( GetModuleHandle( _T( "ntdll.dll" ) ), _T("NtQueryInformationFile") );<br /><br />轉換後的 C# delegate 原型宣告如下:<br />delegate uint NtQueryObjectDelegate(IntPtr hHandle, uint dw1, [MarshalAs(UnmanagedType.LPArray)] byte[] buffer, uint bufferLength, ref uint needLength);<br />delegate uint NtQuerySystemInformationDelegate(uint dw1, IntPtr systemHandleInformation, uint bufferSize, ref uint needLength);<br />delegate uint NtQueryInformationFileDelegate(IntPtr hHandle, uint[] iob, IntPtr buffer, uint bufferSize, uint dw2);<br /><br />delegate 取得 C-Style 函式指標方法:<br />IntPtr ntQueryObjectPtr = IntPtr.Zero;<br />IntPtr ntQuerySystemInformationPtr = IntPtr.Zero;<br />IntPtr ntQueryInformationFilePtr = IntPtr.Zero;<br /><br />NtQueryObjectDelegate ntQueryObjectDelegate = null;<br />NtQuerySystemInformationDelegate ntQuerySystemInformationDelegate = null;<br />NtQueryInformationFileDelegate ntQueryInformationFileDelegate = null;<br /><br />ntQueryObjectPtr = NativeMethod.GetProcAddress(NativeMethod.GetModuleHandle("ntdll.dll"), "NtQueryObject");<br />ntQuerySystemInformationPtr = NativeMethod.GetProcAddress(NativeMethod.GetModuleHandle("ntdll.dll"), "NtQuerySystemInformation");<br />ntQueryInformationFilePtr = NativeMethod.GetProcAddress(NativeMethod.GetModuleHandle("ntdll.dll"), "NtQueryInformationFile");<br /><br />ntQueryObjectDelegate = (NtQueryObjectDelegate)Marshal.GetDelegateForFunctionPointer(ntQueryObjectPtr, typeof(NtQueryObjectDelegate));<br />ntQuerySystemInformationDelegate = (NtQuerySystemInformationDelegate)Marshal.GetDelegateForFunctionPointer(ntQuerySystemInformationPtr, typeof(NtQuerySystemInformationDelegate));<br />ntQueryInformationFileDelegate = (NtQueryInformationFileDelegate)Marshal.GetDelegateForFunctionPointer(ntQueryInformationFilePtr, typeof(NtQueryInformationFileDelegate));<br /><br />以 .NET C# 方法進行呼叫 delegate<br />public uint NtQueryObject(IntPtr hHandle, uint dw1, byte[] buffer, uint bufferSize, ref uint needLength)<br />{<br />return ntQueryObjectDelegate.Invoke(hHandle, dw1, buffer, bufferSize, ref needLength);<br />}<br /><br />public uint NtQuerySystemInformation(uint dw1, IntPtr systemHandleInformation, uint bufferSize, ref uint needLength)<br />{<br />return ntQuerySystemInformationDelegate.Invoke(dw1, systemHandleInformation, bufferSize, ref needLength);<br />}<br /><br />public uint NtQueryInformationFile(IntPtr hHandle, uint[] iob, IntPtr buffer, uint bufferSize, uint dw2)<br />{<br />return ntQueryInformationFileDelegate.Invoke(hHandle, iob, buffer, bufferSize, dw2);<br />}<br /><br />Unlocker .NET 如何取得鎖住檔案的程序 Handle<br />1. 透過 NtQuerySystemInformation 方法取得所有系統中使用的 Handle<br />2. 透過 NtQueryObject 方法可獲得系統的 Handle 是屬於那一類型,包括 Process、Thread、File 等<br />3. 透過 NtQueryObject 方法可取得任一 File Handle 被那一個程序使用中<br /><br />Unlocker .NET 強制關閉 File Handle 原理<br />1. 首先要 Enable DEBUG privilege<br />2. 透過 OpenProcess Win32 API 取得鎖住檔案的程序 Handle<br />3. 透過 CreateRemoteThread Win32 API 呼叫 CloseHandle Win32 API<br /><br />如何使用 Unlocker.NET.dll<br />下載並加入 Unlocker.NET.dll 參考</p><p>using Unlocker.NET;<br />class Program<br />{<br />static void Main(string[] args)<br />{<br />// C:\01.bmp 為被鎖住的檔案名稱<br />if (Unlocker.CloseFileHandle(@"C:\01.bmp"))<br />{<br />Console.WriteLine("成功關閉檔案");<br />}<br />else<br />{<br />Console.WriteLine("關閉檔案失敗");<br />}<br />Console.ReadLine();<br />}<br />}<br /><br />參考網址:<a href="http://www.codeguru.com/Cpp/W-P/files/fileio/article.php/c1287/">http://www.codeguru.com/Cpp/W-P/files/fileio/article.php/c1287/</a></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-78058466397444254482009-01-15T19:40:00.000-08:002009-01-15T20:00:29.347-08:00How to pass the RegisterKey to RegOverridePredefKey function說明:<br />RegisterKey 是一個 .NET managed物件,RegOverridePredefKey 是一個原生Win32的函式呼叫,該函數主要用途在允許將一個預定義的註冊表項映射到另一個註冊表項。RegOverridePredefKey 的使用時機請連結參考網址。本文主旨在說明如何不使用原生自訂的Win32的函式庫而使用.NET managed達到如參考網址相同功能。<br /><br />RegOverridePredefKey 原始宣告:<br />LONG RegOverridePredefKey(HKEY hKey, HKEY hNewHKey);<br /><br />RegOverridePredefKey .NET P/Invoke 宣告:<br />[DllImport("advapi32.dll")]<br />public static extern long RegOverridePredefKey(IntPtr key, IntPtr newKey);<br /><br />解決方法:<br />定義一個轉換方法 ;fieldInfo.GetValue 在 .NET 2.0 無法直接轉型成 IntPtr,其在取得 hkey 屬性時的型別為 Microsoft.Win32.SafeHandles.RegistrySafeHandle,繼承自System.Runtime.InteropServices.SafeHandle。<br />public static IntPtr GetRegistryHandle(RegistryKey registryKey)<br />{<br />Type type = registryKey.GetType();<br />FieldInfo fieldInfo = type.GetField("hkey", BindingFlags.Instance BindingFlags.NonPublic);<br />return ((SafeHandle)fieldInfo.GetValue(registryKey)).DangerousGetHandle();<br />}<br /><br />附註:<br />RegOverridePredefKey 的使用時機之一是在OpenFileDialog自定義左邊PlacesBar,在.NET 2.0 sp1之後,OpenFileDialog已支援 CustomPlaces的集合屬性。<br /><br />參考網址:<a href="http://msdn.microsoft.com/zh-cn/library/aa663661.aspx">http://msdn.microsoft.com/zh-cn/library/aa663661.aspx</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-14438003876414903032008-12-25T17:45:00.000-08:002008-12-25T17:57:48.111-08:00電腦上沒有安裝需要的音訊轉碼器 Windows Media Player 無法播放在 Acer Aspire 4920 筆記型電腦使用 Microsoft Windows XP 作業系統時,已經安裝成功 Realtek High Definition Audio 音效裝置,開啟 Windows Media Player 欲播放檔案時卻出現「由於您的電腦上沒有安裝需要的音訊轉碼器,Windows Media Player 無法播放、燒錄、擷取或同步檔案。」的訊息。<br /><br />問題原因:<br />不知安裝或移除什麼程式之後發生此問題,且右下角喇叭圖示也消失了,但使用 KMP Player 或 其它播放軟體仍然可以正常播放檔案。<br /><br />解決方式:<br />1. 安裝 K Lite Mega Codec Pack,在安裝時勾選 Reset all setting to their defaults 和 Create file associations for Windows Media Player;安裝時會檢查和修正相關音訊轉碼等登錄檔錯誤問題。<br />2. 在控制台聲音及音訊裝置確定所有裝置設定為 Realtek HD Audio Input/Output 等裝置,並勾選只使用預設裝置(此步驟可讓右下角喇叭圖示正常顯示)。<br />3. 開啟 Windows Media Player -> 工具 -> 選項 -> 播放程式,勾選自動下載轉碼器。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-39134007116591547722008-11-06T23:12:00.000-08:002008-11-06T23:36:21.890-08:00ClickOnce 無法下載 manifest在 Microsoft Windows Server 2003 做用 Visual Studio 2005 部署 ClickOnce 完成後,使用瀏覽器連結部署網頁啟動程式發生錯誤時,詳細內容中的錯誤摘要指出:遠端伺服器傳回一個錯誤: (404) 找不到。<br /><br />問題原因:<br />Windows Server 2003 IIS 伺服器會自動阻檔未知的副檔名,就算安裝 .NET Framework 2.0 後設定 web.config,還是無法下載 manifest。<br /><br />解決方式:<br />在 網際網路資訊服務(IIS)管理員點擊滑鼠右鍵->內容->MIME類型,新增下列副檔名:<br />.application application/x-ms-application<br />.manifest application/x-ms-application<br />.deploy application/octet-streamUnknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-45981151152147672652008-04-14T14:14:00.000-07:002008-04-14T14:36:49.676-07:00iwpdgina.dll Fast User Switching Compatibility問題描述:<br /><br />在 Windows XP 安裝 Intel 無線網路卡 PROSet 進階管理工具,例如:Intel PRO/Wireless LAN 2100 3B Mini PCI Adapter,會發生原本 Windows XP 歡迎畫面變更為傳統的登入畫面,而且無法快速切換使用者;而這項功能可透過控制台->使用者帳戶->變更使用者登入或登出方式進行變更,但是會發生如下無法變更訊息對話框:<br /><br />"A recently installed program has disabled the Welcome screen and Fast UserSwitching. To restore these features, you must unistall the program. Thefollowing name might help you identify the program that made the change:iwpdgina.dll"<br /><br />"一個最近安裝的程序已停用歡迎螢幕和快速切換。你必須卸載該程序以恢復這些功能。下列檔案可以幫助你識別該程序多做的修改:iwpdgina.dll"<br /><br />目前解決方式:<br /><br />一般作法是移除 Intel 無線網路卡 PROSet 進階管理工具,或是在安裝時不選擇單次簽入功能組選項;然而有些情況下不得不使用 PROSet,例如:需要連接 Cisco CKIP 安全加密的無線網路環境,或是在不選擇單次簽入功能組選項仍然鎖住 Windows XP 歡迎畫面。<br /><br />建議解決方式:<br /><br />如果選擇單次簽入功能組選項時會造成系統不正常啟動,則不勾選,有時候甚至只能登入安全模式。對於 Intel 無線網路卡 PROSet 進階管理工具造成鎖住 Windows XP 歡迎畫面的原因是因為登錄註冊表<br />[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]<br />裡面設定了<br />"GinaDLL"="iwpdgina.dll"<br />因此,將此機碼刪除即可恢復 Windows XP 歡迎畫面。此方式在安全模式下亦可執行(若要移除 PROSet 在安全模式下是無法執行的)。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-3833284204685217122008-03-28T10:59:00.000-07:002008-12-08T20:24:00.486-08:00英國保誠人壽 SN16 金采年年 精采連連 7年 獲利 166% 投資澳幣結構型債券<a href="http://1.bp.blogspot.com/_sHmsdCmWP98/R-0yczjmHYI/AAAAAAAAAhA/8Tz9vfBKD-g/s1600-h/e±aa¿ea"><img id="BLOGGER_PHOTO_ID_5182854216630541698" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_sHmsdCmWP98/R-0yczjmHYI/AAAAAAAAAhA/8Tz9vfBKD-g/s400/%E8%8B%B1%E5%9C%8B%E4%BF%9D%E8%AA%A0%E4%BA%BA%E5%A3%BDSN16%E9%87%91%E9%87%87%E5%B9%B4%E5%B9%B4%E7%B2%BE%E9%87%87%E9%80%A3%E9%80%A37%E5%B9%B4166%25%E6%BE%B3%E5%B9%A3%E7%B5%90%E6%A7%8B%E5%9E%8B%E5%82%B5%E5%88%B8.png" border="0" /></a><br /><div></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-80595722805323432332008-03-23T01:19:00.000-07:002011-08-02T00:11:29.639-07:00Microsoft Windows Mobile ActiveSync Installer<p><a href="http://www.cuteofdragon.idv.tw/blog/2008/03/23/Microsoft.WindowsMobile.ActiveSync.dll.zip">Microsoft.WindowsMobile.ActiveSync.dll</a><br /><a href="http://www.cuteofdragon.idv.tw/blog/2008/03/23/DeviceApplication1.src.zip">專案測試</a></p><p>軟體名稱:Microsoft.WindowsMobile.ActiveSync.dll<br />版本:v 1.0<br />軟體作者:cuteofdragon<br />軟體授權:學術授權免費軟體<br />發佈時間:2008/03/23</p><p>簡介<br />Microsoft WindowsMobile ActiveSync 使用在開發 Windows Mobile-based 的應用程式,包括早期的 Pocket PC 2003、Windows CE 5.0、Windows Mobile 5 和目前 Windows Mobile 6 的行動裝置,都必須透過 ActiveSync 進行應用程式的部署;當然,如果在已安裝 Visual Studio .NET 2005 的電腦情況下,可以直接點選部署的選單將程式直接透過 ActiveSync DMA 連線傳送到指定的行動裝置上,但是在沒有安裝 Visual Studio .NET 2005 的電腦時,傳統的方法是透過 ActiveSync 在檔案總案建立的行動裝置將編譯完成的執行檔複製到裝置裡面的 ProgramFiles 資料夾內。<br /></p><br /><p>說明<br />Microsoft.WindowsMobile.ActiveSync.dll 為一可解決在沒有安裝 Visual Studio .NET 2005 的電腦進行行動裝置自動化安裝部署的 Installer 類別函式庫,換句話說,透過此 Installer 即可在專案開發時期設定完成 Setup 相關指令碼,將傳統上所有需要的執行相關檔案封裝成安裝檔,之後當電腦和行動裝置透過 ActiveSync 連接時,執行安裝檔即可全自動地在連接 ActiveSync 的行動裝置上進行安裝,並在程式集產生捷徑,就如同一般行動裝置上的程式。</p><p>步驟<br />1. 下載 Microsoft.WindowsMobile.ActiveSync.dll 和專案測試檔。<br />2. 建立一個行動裝置 DeviceApplication1。<br />3. 建立一個行動裝置 SmartDeviceCab1。<br />4. 建立一個一般電腦 Setup1。<br />5. 在 SmartDeviceCab1 增加 Project Outputs DeviceApplication1。<br />6. 在 Setup1 增加 SmartDeviceCab1 和 組件 Microsoft.WindowsMobile.ActiveSync.dll。<br />7. 在 Setup1 Custom Action 增加 Microsoft.WindowsMobile.ActiveSync.dll,並設定CustomActionData = /ActiveSyncProductName="SmartDeviceCab1"。<br />8. 完成,如下圖所示。</p><br /><a href="http://1.bp.blogspot.com/_sHmsdCmWP98/R-YfOjjmHUI/AAAAAAAAAgg/HundaF_Xh4Y/s1600-h/Microsoft.WindowsMobile.ActiveSync.png"><img id="BLOGGER_PHOTO_ID_5180862756259503426" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_sHmsdCmWP98/R-YfOjjmHUI/AAAAAAAAAgg/HundaF_Xh4Y/s400/Microsoft.WindowsMobile.ActiveSync.png" border="0" /></a><br /><a href="http://4.bp.blogspot.com/_sHmsdCmWP98/R-YfUTjmHVI/AAAAAAAAAgo/P3DP3OYIY5U/s1600-h/Microsoft.WindowsMobile.ActiveSync02.png"><img id="BLOGGER_PHOTO_ID_5180862855043751250" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/R-YfUTjmHVI/AAAAAAAAAgo/P3DP3OYIY5U/s400/Microsoft.WindowsMobile.ActiveSync02.png" border="0" /></a><br /><a href="http://4.bp.blogspot.com/_sHmsdCmWP98/R-YfcTjmHWI/AAAAAAAAAgw/HqFy1cGxI-Q/s1600-h/Microsoft.WindowsMobile.ActiveSync03.png"><img id="BLOGGER_PHOTO_ID_5180862992482704738" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/R-YfcTjmHWI/AAAAAAAAAgw/HqFy1cGxI-Q/s400/Microsoft.WindowsMobile.ActiveSync03.png" border="0" /></a><br /><a href="http://1.bp.blogspot.com/_sHmsdCmWP98/R-YfhjjmHXI/AAAAAAAAAg4/sP6HbABMcF0/s1600-h/Microsoft.WindowsMobile.ActiveSync04.png"><img id="BLOGGER_PHOTO_ID_5180863082677017970" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_sHmsdCmWP98/R-YfhjjmHXI/AAAAAAAAAg4/sP6HbABMcF0/s400/Microsoft.WindowsMobile.ActiveSync04.png" border="0" /></a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-51010526138369476482008-03-08T01:52:00.000-08:002008-12-08T20:24:01.644-08:00Three Layer Back Propagation XOR Perceptron<a href="http://4.bp.blogspot.com/_sHmsdCmWP98/R9JkeBd37OI/AAAAAAAAAgQ/x2R3R4NUfZE/s1600-h/ThreeLayerBackPropagationXORPerceptron.png"><img id="BLOGGER_PHOTO_ID_5175309388754709730" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/R9JkeBd37OI/AAAAAAAAAgQ/x2R3R4NUfZE/s400/ThreeLayerBackPropagationXORPerceptron.png" border="0" /></a><br /><div>Three Layer Back Propagation XOR Perceptron 用於專家系統三階層類神經網路互斥運算,透過模擬人腦方式學習 XOR 運算。如上圖所示,alpha = 1.5、w13 = 0.5、w14 = 0.9、w23 = 0.4、w24 = 1.0、w35 = 1.2、w45 = 1.1、thresold3 = 0.8、thresold4 = -0.1 and thresold5 = 0.3,結果如下所示,在第 570 回合,錯誤率 e 即小於 0.01,表示類神經網路已經學習訓練成功,最後 w13 = 4.05、w14 = 5.7、w23 = 4.04、w24 = 5.71、w35 = -8.1、w45 = 7.61、thresold3 = 6.21、thresold4 = 2.41 and thresold5 = 3.5。<br /></div><br /><a href="http://1.bp.blogspot.com/_sHmsdCmWP98/R9JlERd37PI/AAAAAAAAAgY/CWzgSYhd7QE/s1600-h/ThreeLayerBackPropagationXORPerceptron02.png"><img id="BLOGGER_PHOTO_ID_5175310045884706034" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_sHmsdCmWP98/R9JlERd37PI/AAAAAAAAAgY/CWzgSYhd7QE/s400/ThreeLayerBackPropagationXORPerceptron02.png" border="0" /></a> 困難度:***<br />時間複雜度:O(n^2)<br />程式語言:C#<br />預估時間:9 小時<br /><br />解題原理:<br />1. 三階層倒傳遞類神經網路為一般實作任何模擬人腦方式學習專家系統之基礎,XOR 運算為最入門之範例。 此範例不應列入相關程式比賽之題目,而應為學術課程之教材採用。<br />2. 定義 NeuronNetwork 類別,包含 N 個 NeuronLayer,<br />3. 每一個 NeuronLayer 包含 N 個 NeuronPerceptron,<br />4. 每一個 NeuronPerceptron 包含 N 個 NeuronPath,其中 NeuronPath 分別宣告 In(射入) 和 Out(射出)。<br />5. NeuronPerceptron 為單一神經元,故可自我學習運算。<br />6. NeuronPath 為最小神經元素,儲存相關係數。<br />7. 詳細程序流程請參考程式原碼。<br /><br /><a href="http://www.cuteofdragon.idv.tw/blog/2008/03/08/ThreeLayerBackPropagationXORPerceptron.exe.zip">程式下載</a><br /><br /><a href="http://www.cuteofdragon.idv.tw/blog/2008/03/08/ThreeLayerBackPropagationXORPerceptron.src.zip">原碼下載</a>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-5280327929946149843.post-22703141083850968722008-01-13T00:11:00.000-08:002008-12-08T20:24:02.177-08:00Single Layer Two Input Perceptron Logical Operation<a href="http://4.bp.blogspot.com/_sHmsdCmWP98/R4nOQlgmo_I/AAAAAAAAAc4/X6jmilagQq8/s1600-h/SingleLayerTwoInputPerceptronLogicalOperation.png"><img id="BLOGGER_PHOTO_ID_5154878032844334066" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/R4nOQlgmo_I/AAAAAAAAAc4/X6jmilagQq8/s400/SingleLayerTwoInputPerceptronLogicalOperation.png" border="0" /></a><br /><div>Single Layer Two Input Perceptron Logical Operation 用於專家系統一階層類神經網路邏輯運算, 透過模擬人腦方式學習 And 和 Or 的邏輯運算。如上圖所示,假設 w1 和 w2 分別為 0.3 和 -0.1, alpha 學習率為 0.1,threshold 門檻值為 0.2,計算 And 和 Or 結果如下所示,分別在第 5 回合 和第 4 回合時,錯誤率 e 即為 0,表示類神經網路已經學習訓練成功,最後 w1 和 w2 分別為 0.1、0.1 和 0.3 、 0.2。 </div><div><br /></div><a href="http://4.bp.blogspot.com/_sHmsdCmWP98/R4nO7lgmpAI/AAAAAAAAAdA/3kvPkXdjuqc/s1600-h/SingleLayerTwoInputPerceptronLogicalOperation02.png"><img id="BLOGGER_PHOTO_ID_5154878771578708994" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/R4nO7lgmpAI/AAAAAAAAAdA/3kvPkXdjuqc/s400/SingleLayerTwoInputPerceptronLogicalOperation02.png" border="0" /></a><br /><a href="http://2.bp.blogspot.com/_sHmsdCmWP98/R4nPRFgmpBI/AAAAAAAAAdI/Dqsr1OK587w/s1600-h/SingleLayerTwoInputPerceptronLogicalOperation03.png"><img id="BLOGGER_PHOTO_ID_5154879140945896466" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_sHmsdCmWP98/R4nPRFgmpBI/AAAAAAAAAdI/Dqsr1OK587w/s400/SingleLayerTwoInputPerceptronLogicalOperation03.png" border="0" /></a><br />困難度:*<br />時間複雜度:O(n)<br />程式語言:C#<br />預估時間:2 小時<br /><br />解題原理:<br />1. 定義 LogicalOperationObject 為一神經元每回合四次運算的類別<br />2. 定義 LogicalOperation 為控制 LogicalOperationObject 是否達到學習收斂,判斷依據為在同一回合所有 LogicalOperationObject 錯誤率皆為零<br />3. 完成<br /><br /><br /><a href="http://www.cuteofdragon.idv.tw/blog/2008/01/13/SingleLayerTwoInputPerceptronLogicalOperation.exe.zip">程式下載</a><br /><br /><a href="http://www.cuteofdragon.idv.tw/blog/2008/01/13/SingleLayerTwoInputPerceptronLogicalOperation.src.zip">原碼下載</a>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-18129092392290192892007-11-10T23:39:00.000-08:002008-12-08T20:24:02.273-08:00Forward chaining<a href="http://3.bp.blogspot.com/_sHmsdCmWP98/R4nJaVgmo-I/AAAAAAAAAcw/vwhfh_2uSuI/s1600-h/ForwardChaining.png"><img id="BLOGGER_PHOTO_ID_5154872702789919714" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_sHmsdCmWP98/R4nJaVgmo-I/AAAAAAAAAcw/vwhfh_2uSuI/s400/ForwardChaining.png" border="0" /></a><br /><div>Forward chaining 用於專家系統前式鍊結法,撰寫一圖形介面讓使用者輸入任意 N 個資料庫單元符號和任意 M 個規則,並於圖形介面中印出出每一回合資料庫改變的狀態。<br />舉例來說:<br />If X croaks and eats flies - Then X is a frog<br />If X chirps and sings - Then X is a canary<br />If X is a frog - Then X is green<br />If X is a canary - Then X is yellow<br /><br />database:<br />a<br />b<br />c<br />d<br />rule:<br />a->x<br />b->y<br />xy->z<br />y->w<br />w->q<br /><br />output:<br />第 1 回合 ..<br />增加 x.<br />增加 y.<br />第 2 回合 ..<br />增加 z.<br />增加 w.<br />第 3 回合 ..<br />增加 q.<br />第 4 回合 ..<br /><br />困難度:**<br />時間複雜度:O(n^2)<br />程式語言:C#<br />預估時間:2 小時<br /><br />解題原理:<br />1. 設計一介面讓使用者可以輸入任意 N 個資料庫單元和 M 個規則<br />2. 每一回合走訪所有的規則,若推論存在,則加入推論結果到資料庫中<br />3. 重複步驟3,直到所有規則皆不會產生推論<br />4. 完成<br /></div><br /><p><a href="http://www.cuteofdragon.idv.tw/blog/2007/11/11/ForwardChaining.exe.zip">程式下載</a></p><p><a href="http://www.cuteofdragon.idv.tw/blog/2007/11/11/ForwardChaining.src.zip">原碼下載</a></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-71577782487973673822007-10-23T22:12:00.001-07:002008-04-07T14:13:18.003-07:00大盤分析 96.10.23fdrag逢低加碼電子股<br />杜富蓉 協理<br />96.10.23<br /><br />盤勢分析:加權指數10/3日來到9783點之際,傳出國安基金獲利了結的消息,加上港股、陸股及印度股市輪流大幅震盪,市場又擔心電子股季報不如預期,大盤呈現9500~9800點的高檔震盪;在成交量始終無法突破1700億之後,指數原本就必須以退為進,拉回整理後,凝聚人氣,才有過高的機會。週(一)適逢國際股市大幅回檔,大盤一口氣跌破月線,直逼季線,幸而9/21日的跳空缺口發揮止跌效果,週(二)大盤在美股走穩下開始反彈。<br /><br />美國近期所公佈的經濟資料,顯示美國房地產市場持續惡化,已影響到消費者支出,美國S&P500企業第三季及第四季的獲利都已向下修正,而這都在市場預期當中,因此道瓊及那斯達克指數10月份創了歷史新高,目前是創新高之後的拉回修正,只是美國傳統產業獲利受到次級房貸波及較大;新興市場的堀起,除了帶動基本原物料的需求外,對高科技產品的需求也與日俱增。美國電子業海外市場蓬勃成長,從近期Intel、Googles、Apple的優異財報即可窺之。因此國內電子業也陸續交出亮麗的季報,市場所擔心的電子業旺季不旺心理已全然消失,最近一週來,電子股佔大盤的成交比重已連續在七成以上,第四季表現突出的電子股將是年底多頭挑戰萬點的主攻部隊。<br /><br />操作建議:道瓊指數此波回檔小破季線,那斯達克指數月線得而復失,因此只要那斯達克指數能守在2725點之上,台股站回9555點的月線,重返多頭趨勢,將是指日可待。而電子股的多頭重心,將集中在面板、PC及網通族群。不論是大尺吋或中、小尺吋面板,到明年底前供不應求的狀況將更趨惡化,今、明兩年獲利出現超乎市場預期的成長,相關的零組件廠商也同步受惠,因此面板族群短線漲多拉回降溫後,仍可逢低作中期佈局。<br /><br />其次,由Intel季報所反應的今年第三季PC銷售呈現明顯成長,第四季聖誕節效應達到高峰。因此,相關的PC組裝大廠:華碩、緯創、仁寶及零組件廠商:金像電、新普、順達科、新日興等股價都有上漲空間。此外,WiMAX商機明、後年大幅顯現,受惠的廠商:東訊、台揚、合勤等有夢最美,股價相對強勢。<br /><br /><br />(原稿登載於96.10.24日工商時報証券版C2〞操盤心法〞專欄)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-18804876047387288432007-10-10T03:28:00.000-07:002008-04-07T14:13:33.144-07:00大盤分析 96.10.09追價無力、短線整理<br />杜富蓉 協理<br />96.10.09<br /><br />盤勢分析:上週美國公佈的經濟資料顯示,雖然房地產景氣仍有下探空間,但美國經濟仍維持溫和成長,激勵美元轉強,道瓊及那斯達克指數都創了今年新高。相對的,國際原物料價格,包括石油,非鐵金屬及CRB指數紛紛走低,拖累週(二)水泥、塑膠、鋼鐵等傳產股回檔。<br /><br />加權指數在主流股拉回,電子股無力接棒下,以長黑跌破5日均線。雖然10日平均線尚未失守,但日KD指標已轉為高檔向下交叉,大盤在10/3日出現2156億的大量後,成交量再也無力突破1700億,顯示9800點關前追高意願不足,加權指數有機會拉回整理,以凝聚下次衝關的實力。<br /><br />就技術面來看,國際股市今年創新高者不在少數,外資也由保守轉為連續三週買超,加上政府基金蓄勢待發;只要國際股市未出現出人意外的連續下跌,台股整理後,仍有再次挑戰萬點的機會。<br /><br />加權指數6月份從8200點直衝9800點時,大盤主流的IC設計、高價電子股融資餘額大幅擴增,股價超漲後,拉回整理的時間加長,短線雖然也會反彈,但頭部成型,上檔解套賣壓不輕,在融資包袱尚未縮減下,暫時不易風雲再起,大幅上揚,而以持續中段整理居多。<br /><br />操盤建議:面板兩虎繼9月營收大增後,第三季獲利呈現爆炸性成長,股價連續兩天走強,但仍無法帶動電子股指數站上410點。而週(二)友達成交量大增至20萬張,奇美電成交量也高達22萬張,短線籌碼凌亂,多頭攻勢將趨緩,相關的零組件個股,也不宜再追高搶進。<br /><br />傳產股漲多回檔,又有原物料下跌疑慮,但拉回量縮,暫時以區間操作因應。航運股波段漲幅驚人,但散裝指標:台航、中航尚未反轉前,相關個股仍可短多應對。貨櫃航運的長榮、陽明、萬海利多不斷,但外資轉為賣超,待賣壓消除後,再來尋找反彈契機。金融股反彈至半山腰,拉回仍可留意比價偏低或具有獲利成長利多的:合庫、彰化銀行、第一金、國泰金、中壽等。<br /><br /><br />(原稿登載於96.10.10日工商時報証券版C2〞操盤心法〞專欄)Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-7509367145728876962007-10-10T03:22:00.000-07:002008-04-07T14:15:08.332-07:00IBM 攜手 Google 聯合培養雲端運算人才<p>文章轉錄:<a href="http://taiwan.cnet.com/news/software/0,2000064574,20124806,00.htm">http://taiwan.cnet.com/news/software/0,2000064574,20124806,00.htm</a></p><p>IBM攜手Google 聯合培養雲端運算人才<br />CNET 新聞專區:授權採用NYTimes文章 / by Steve Lohr 09/10/2007<br /><a href="http://taiwan.cnet.com/news/software/0,2000064576,20124806-20000746c,00.htm"></a><a href="http://taiwan.cnet.com/news/software/0,2000064575,20124806-20000746c,00.htm"></a><a onclick="addMyStory('20124806','/news/software/0,2000064574,20124806,00.htm','IBM攜手Google 聯合培養雲端運算人才')" href="javascript:void(0)"></a><br />即使是美國最久負盛名的大學也無法提供處理功能強大和高度複雜運算技術所需要的技術培訓。<br /><br />因此,IBM和Google公佈一項研究計畫來解決這一問題。兩家公司將投資建立一個大規模的資料中心,學生可以通過網際網路遠端存取該資料中心,進行遠端研究,此即所謂的「雲端運算」(cloud computing)。<br /><br />Google和IBM 對這種模式有很大的商業興趣。運算任務將越來越脫離桌上型,轉向企業運算中心,被當作服務透過網際網路進行處理。Google是「雲端運算」技術領域的領導廠商。<br />但是,Yahoo、Amazon.com、eBay等公司也推出搜尋、社交網路、Web-based電子郵件、線上商務等網際網路服務,它們也使用此一技術。在企業市場上,IBM 和其他廠商推出了預測市場趨勢、調整價格、最佳化採購和製造的網際網路服務。<br /><br />這些服務的幕後英雄是資料中心,它們利用數以千計的處理器,儲存海量資料,使用專門軟體解決網際網路規模的運算挑戰。這種新型的對資料處理有較高要求的超級運算技術通常用於檢索Web ,或者需要在數秒、數分鐘內完成的任務。<br /><br />「雲端運算」方面的大多數創新來自企業,但產業主管和電腦科學家表示,人才的匱乏可能會限制「雲端運算」技術未來的成長。卡內基梅隆大學電腦學院院長Randal E. Bryant表示,學術界和政府實驗室沒有跟上潮流,大學需要跟上這一潮流。<br /><br />六所大學將參與這一計畫,它們是卡內基梅隆大學、麻省理工學院、史丹佛大學、加州大學柏克萊分校、馬裡蘭大學、華盛頓大學。<br /><br />Google正在一個尚未公佈的地方建設一座資料中心,到今年年底時該資料中心將包含有1600多個處理器。IBM 也為該計畫建立了一個資料中心。該資料中心將運行Google資料中心軟體的開放原始碼版本。<br /><br />這一資料中心的處理能力只相當於Google搜尋引擎的極小一部分,但科學家表示,它的處理能力非常強大,足以進行網際網路方面的研究。建立和運營這樣的資料中心是很困難的,而且代價很高。Google和IBM 已經表示將於未來2 年內在該專案上投入至少3000萬美元。</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-90147683477345482322007-09-17T00:12:00.000-07:002008-12-08T20:24:02.441-08:00AJAX .NET Accordion - Validation of viewstate MAC failed問題描述:<br /><br />在使用AJAX .NET 1.0.618 版本中的 Accordion 時,動態載入不同的 UserControl 元件(.ascx),並透過 UpdatePanel 完成非同步網頁畫面更新,使整個畫面看起來就像 GMail 的操作介面。但有時會載入不同的 UserControl 時會發生如下的錯誤對話框,顯示「Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster、ensure that <machinekey>configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be use in cluster.」,接著網頁的 PostBack 就失效了,無法再進行操作。<br /><br /><br /><a href="http://4.bp.blogspot.com/_sHmsdCmWP98/Ru4us4EsGkI/AAAAAAAAAZk/zrtD-FFN3Wo/s1600-h/validationviewstatemacfailed.png"><img id="BLOGGER_PHOTO_ID_5111073975613266498" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/Ru4us4EsGkI/AAAAAAAAAZk/zrtD-FFN3Wo/s400/validationviewstatemacfailed.png" border="0" /></a><br /><br /><br />目前網路解決方式:<br /><br />這個問題在網路上已有一些相關的文章,主要是因為在 Page 或是一般 .aspx 網頁中使用了 EnableViewState = true 這個設定(此設定值是預設),因此有相關文章指出當不使用此設定值或設定 EnableViewStateMac = false 即可解決。如果設定 EnableViewState = false 就會造成 Accordion 無法正常使用。<br /><br />正確解決方式:<br /><br />這個問題對於是否使用 Accordion 這個 AJAX 的元件的直接關聯性無法得證,目前只知道當動態載入不同的 UserControl 元件時,有些內容有保含巢狀 UpdatePanel,有些是一般靜態網頁內容時,就會產生這個錯誤對話框;或許真的原因仍待確認。但解決方式為在 web.config 的 system.web <system.web>區段內<page viewstateencryptionmode="True">或是一般 .aspx 網頁設定 viewStateEncryptionMode="True" 或 viewStateEncryptionMode="False" 即可解決,此設定值預設為 viewStateEncryptionMode="Auto",由此觀之,可能是在動態載入時,預設的情況會切換是否要加密 viewState ,因而造成錯誤。Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-22818593654733967572007-08-29T03:49:00.000-07:002008-12-08T20:24:02.645-08:00網路介面卡修改器<a href="http://3.bp.blogspot.com/_sHmsdCmWP98/RtVQy-GIISI/AAAAAAAAAY0/5OrzmY3YeKo/s1600-h/screenshot.png"><img id="BLOGGER_PHOTO_ID_5104074589286703394" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_sHmsdCmWP98/RtVQy-GIISI/AAAAAAAAAY0/5OrzmY3YeKo/s400/screenshot.png" border="0" /></a><br /><br /><a href="http://www.cuteofdragon.idv.tw/blog/2007/08/29/Win32_NetworkAdapter_v1.0.zip">下載</a><br /><br />軟體名稱:網路介面卡修改器<br />軟體版本:v 1.0<br />軟體作者:cuteofdragon<br />軟體授權:免費軟體<br />發佈時間:2007/08/29<br /><br />說明:使用 WMI 取得網路介面卡資訊,並修改註冊表內容以完成網路介面卡位址修改,詳細內容請參閱下面。<br /><br />技術解析:<br /><ol><li>取得作用中的網路卡<br />string strQry = "Select * from Win32_NetworkAdapter Where NetConnectionStatus=2";<br />ManagementObjectSearcher mos = new ManagementObjectSearcher(strQry);</li><li>走訪網路卡資訊<br />foreach (ManagementObject mo in mos.Get()) {<br />; // mo["Caption"] = 網路卡名稱<br />; // mo["Index"] = 網路卡索引<br />; // mo["MACAddress"] = 網路介面卡位址<br />}</li><li>修改註冊表<br />//ManagementObject mo = //"選擇的網路卡物件"<br />RegistryKey nicKey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}");<br />RegistryKey newNicKey = nicKey.OpenSubKey(mo["Index"].ToString().PadLeft(4、'0')、true);<br />newNicKey.SetValue("NetworkAddress","新的網路卡位址");</li><li>重新開機或使用 Shell32 重新啟用網路卡即可。</li></ol>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-78261229961044110292007-05-23T22:32:00.000-07:002011-08-02T00:11:29.639-07:00Excel 表格有條件合併<a href="http://3.bp.blogspot.com/_sHmsdCmWP98/RlUkHutp2eI/AAAAAAAAASk/Ya7Becumh5A/s1600-h/screenshot.png"><img id="BLOGGER_PHOTO_ID_5067996670892562914" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_sHmsdCmWP98/RlUkHutp2eI/AAAAAAAAASk/Ya7Becumh5A/s400/screenshot.png" border="0" /></a><br /><p>問題描述:</p><p>存在有三張Excel的學生名冊,分別紀載學生之獎學金、就學貸款和減免費用,以下分別描述:</p><ul><li>獎學金名冊有三個欄位,分別為學號、獎學金分類和金額,存在同一學號領取多筆獎學金</li><li>就學貸款有二個欄位,分別為學號和貸款金額,同一學號只會有一筆就學貸款金額</li><li>減免費用有二個欄位,分別為學號和減免事項,同一學號只會有一筆就學貸款金額</li><br /></ul>今吾人想輸出一張新的表格,此表格包含學生學號、獎學金分類、獎學金金額、就學貸款金額和減免事項等五個欄位,其中<br /><ol><li>以獎學金名冊為主,進行輸出,也就是說若獎學金名冊不重複學號有2000筆,就學貸款有5000筆,減免費用有1000筆,最後會輸出2000筆紀綠</li><li>不存在相同學號的紀錄筆</li><li>若重複領取獎學金之學生必須合併(金額相加,並取最高獎學金金額的分類)</li><li>每筆紀錄需輸出領獎學金之學生是否同時有就學貸款金額或減免事項</li><li>不得使用資料庫操作<br /></li></ol><p>技術解析:</p><ol><li>將三張Excel分別輸出為三個以Tab分隔的文字檔</li><li>分別讀入三個文字檔</li><li>當讀入獎學金文字檔時,要判斷是否有重複學號,有的話要進行金額累加並調整獎學金分類</li><li>利用三個一維陣列物件儲存不同文字檔內容,並以學號為主要索引</li><li>循序走訪獎學金陣列,判斷獎學金陣列的學號是否存在另外二個陣列之中</li><li>完成</li></ol><p>困難度:*<br />時間複雜度:O(n)<br />程式語言:C#<br />預估時間:2 小時</p><p><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/24/BursaryLoadRemit.zip">程式下載</a><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/24/BursaryLoadRemit.cs.txt"><br /><br />原碼下載</a></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-12998327445489346602007-05-13T07:59:00.000-07:002008-12-08T20:24:02.883-08:00[轉錄] 保誠人壽推出「金鑽年年變額年金保險」<a href="http://4.bp.blogspot.com/_sHmsdCmWP98/RkwfzOtp2dI/AAAAAAAAASQ/0yKW0yWmIfo/s1600-h/ee½a1′a1′++a¥­cea‥a1ea¼eaaa.jpg"><img id="BLOGGER_PHOTO_ID_5065458645868337618" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/RkwfzOtp2dI/AAAAAAAAASQ/0yKW0yWmIfo/s400/%E9%87%91%E9%91%BD%E5%B9%B4%E5%B9%B4++%E6%A5%AD%E7%95%8C%E9%A6%96%E6%8E%A8%E4%B9%8B%E9%80%80%E4%BC%91%E8%A6%8F%E5%8A%83%E5%95%86%E5%93%81.jpg" border="0" /></a><br /><table id="table1" cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td class="pageTitle">保誠人壽推出「金鑽年年變額年金保險」 零保單前置費 退休金累積更快速 五月底前投保 免收前10年保單維持費用 <span class="content">( 2007/05/07 ) </span></td></tr><tr><td height="12"></td></tr><tr><td class="BlueSubMenu3"></td></tr><tr><td height="12"><img height="1" src="http://www.pcalife.com.tw/corpProd/images/about/spacer.gif" width="1" /></td></tr><tr><td><span class="content">(台北訊)看好退休市場的需求,保誠人壽推出「金鑽年年變額年金保險」,這個商品以退休規劃為主,具有零前置費用、低保單維持費的特色,保戶可以將保費全額投入投資帳戶中,更快速、穩健地累積退休準備金。配合新退休商品上市,保誠人壽推出5月優惠方案,即日起至5月31日止購買「金鑽年年變額年金保險」,即可享有前10年免收每月帳戶價值0.08%的保單維持費用。<br /><br />年金險具有保證給付的特性,只要被保險人生存,就可以依約定持續領取年金金額,最適合用來保障退休後穩定的收入。根據保誠人壽2007年退休調查報告顯示,33%的民眾選擇保險作為退休理財的工具,而其中購買年金險的僅佔13%,顯見年金險市場仍有很大的成長空間。為了協助客戶做好退休準備,保誠人壽推出的「金鑽年年變額年金」,結合了年金險與投資型商品的優點,保戶不但享有最低保本的壽險保障,更可以選擇穩健的投資標的來獲取理想的投資報酬率。<br /><br />保誠人壽台灣區總經理張志明表示,定期定額、長期投資、複利累積是退休金準備的三大原則。年金險在被保險人生存期間可以提供穩定而持續的退休收入給付,連結基金更具有長期獲利的機會,在歐美是很普遍的退休準備理財商品。<br /><br />以30歲男性投保「保誠人壽金鑽年年變額年金保險」為例,每月固定繳交基本保險費10,000元,並選擇自60歲開始領取年金,保證期間20年。假設年金宣告利率為2%,當投資報酬率為3%時,每年可領取的年金金額為248,784元,平均每月約有2萬元的生活費;當投資報酬率為7%時,年金金額為495,942元,每月有近4萬2千元的生活費,可以享有經濟自足的老年生活。若不幸於年金保證期間身故,剩餘的年金還可以照顧遺族,受益人可選擇領取年金至保證期滿,或一次領取未支領的年金餘額。<br /><br />在保單費用方面,「保誠人壽金鑽年年變額年金保險」免收保單前置費用、免收保單行政管理費用、免收轉換投資標的手續費,年金遞延期間每月僅收保單帳戶價值的0.08%的保單維持費用,若保戶要解約或部分解約,第11保單年度起免收解約費用。此外,這張保單還可附加醫療險、意外險與豁免保險費附約,保戶不但享有完整的醫療保障,豁免保險費附約更可以讓保戶做好風險控制,避免因失能或疾病而讓儲蓄退休金的計畫中斷。<br /><br />為協助客戶進行退休規劃,保誠人壽特別規劃了專業課程,業務人員必須上課並通過測驗方可銷售退休商品。保誠人壽強調,退休準備必須先建立正確的退休規劃觀念,除了瞭解自己的財務狀況和退休目標外,還要選擇適合自己的理財方式。保誠人壽將藉由專業退休規劃的業務團隊,協助客戶瞭解自己的退休數字,並以完整的退休商品,為客戶打造健康與富足的退休生活。<br /></span></td></tr><tr><td height="12"></td></tr><tr><td><span class="content"><br /><p>看好退休市場的商機,保誠人壽大力推動退休規劃專案。圖為保誠人壽高階主管,由左至右分為別台灣區總經理張志明、業務系統總經理朱信福、行政系統總經理暨財務長張鎮坤。<br /><br />本文轉錄自 <a href="http://www.pcalife.com.tw/corpProd/about/news.do?actionType=detail&mid=5_6&id=234" target="_blank">保誠人壽新聞中心</a><br />有興趣讀者請 <a href="mailto:cute.ofdragon@gmail.com">與我聯繫</a></p></span></td></tr></tbody></table>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-52505938730235217072007-05-12T23:18:00.000-07:002008-04-07T14:16:58.378-07:00整數分割<p>三、整數分割(Parition of Integer),如:4 = 4、3+1、2+2、2+1+1、1+1+1,共五種不重複分割方法,輸入任意數 n,列出所有分割方式和共有幾種分割方法。<br /><br />input:<br />4<br /><br />output:<br />1+1+1+1<br />1+1+2<br />2+2<br />3+1<br />4<br />共5種</p><p>困難度:**<br />時間複雜度:c1((1+5^(1/2))/2)^n + c2((1-5^(1/2))/2)^n,<br /> c1+c2 = 0,(c1(1+5^(1/2))/2)+(c2(1- 5^(1/2))/2)=1<br />程式語言:C++<br />預估時間:2 小時<br /><br />解題原理:<br />1. 先取得使用者輸入欲分割的正整數<br />2. 任意正整數 n 必可寫為 n 個 1 連加,暫存在陣列 A[n]<br />3. 由左而右開始,一次處理鄰近二個數,讓右邊的數=右邊的數+左邊的數,之後把左邊的數設為零<br />4. 將目前陣列元素進行由小排到大,暫存排序後的陣列 B,印出不重複的陣列 B[n] 非零的數連加字串<br />5. 重複步驟 3,直到開始處理的位置到 n-1<br />6. 完成</p><p><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/ParitionInteger.zip">程式下載</a><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/ParitionInteger.cpp"><br /><br />原碼下載</a><br /><br />參考來源:長榮大學2007校內程式設計競賽複賽 試題 三</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-55855503701361056222007-05-12T23:14:00.000-07:002008-04-07T14:17:41.449-07:00Armstrong<p>二、數學上 Armstrong 數可表示為 a^3 + b^3 + c^3 = abc,寫出所有三位數的 Armstrong 數。<br /><br />output:<br />370</p><p>困難度:*<br />時間複雜度:O(n)<br />程式語言:C++<br />預估時間:15 分鐘<br /><br />解題原理:<br />1. 先判斷欲輸出幾位數的阿姆斯壯數<br />2. 分別產生各個位數0~9的排列方式進行阿姆斯壯數比較<br />3. 完成<br /><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/Armstrong.zip"><br />程式下載</a><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/Armstrong.cpp"><br /><br />原碼下載</a></p><p>參考來源:長榮大學2007校內程式設計競賽複賽 試題 二</p>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-5280327929946149843.post-43865969762628234842007-05-12T22:51:00.000-07:002008-04-07T14:17:53.337-07:00十進位轉換<p>一、輸入十進位數和轉換基數為十六進位數<br /> 輸入十進位數和轉換基數為八進位數<br /><br />input:<br />255 16<br />100 8<br /><br />output:<br />ff<br />144</p><p>困難度:*<br />時間複雜度:N/A<br />程式語言:C++<br />預估時間:5 分鐘<br /><br />解題原理:<br />1. 先取得使用者輸入欲轉換的數字和基數<br />2. 使用內建的函式庫直接印出結果<br /><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/DecimalCarryTransform.zip"><br />程式下載</a><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/13/DecimalCarryTransform.cpp"><br /><br />原碼下載</a></p><br /><p>參考來源:長榮大學2007校內程式設計競賽複賽 試題 一</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-48722621730894015622007-05-12T06:32:00.000-07:002008-12-08T20:24:03.074-08:002007 數位學習實務論壇<a href="http://4.bp.blogspot.com/_sHmsdCmWP98/RkXE9u921SI/AAAAAAAAASI/bS7e1-xDy58/s1600-h/20070511.jpg"><img id="BLOGGER_PHOTO_ID_5063669920906532130" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_sHmsdCmWP98/RkXE9u921SI/AAAAAAAAASI/bS7e1-xDy58/s400/20070511.jpg" border="0" /></a><br /><br />2007 數位學習實務論壇於2007/05/11由元培科技大學資訊工程學系舉辦,邀請相關數位學習專家學者進行演講,論壇行程如上圖所示,演講內容大略可包括現今數位學習如何運用新的資訊技術達到不同的應用,像是使用RFID、Web 2.0或是語音辨識技術等。以下為演講語音線上播放:<br /><br /><ul><li>第一場:數位學習與環境教育<br />演講者:國立中央大學環境工程研究所 王鵬堯教授</li><br /><object id="WindowsMediaPlayer1" height="45" width="300" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param name="URL" value="http://www.cuteofdragon.idv.tw/blog/2007/05/12/YuanpeiELearning2007_01.wma"><param name="rate" value="1"><param name="balance" value="0"><param name="currentPosition" value="0"><param name="defaultFrame" value=""><param name="playCount" value="1"><param name="autoStart" value="0"><param name="currentMarker" value="0"><param name="invokeURLs" value="-1"><param name="baseURL" value=""><param name="volume" value="50"><param name="mute" value="0"><param name="uiMode" value="full"><param name="stretchToFit" value="0"><param name="windowlessVideo" value="0"><param name="enabled" value="-1"><param name="enableContextMenu" value="-1"><param name="fullScreen" value="0"><param name="SAMIStyle" value=""><param name="SAMILang" value=""><param name="SAMIFilename" value=""><param name="captioningID" value=""><param name="enableErrorDialogs" value="0"><param name="_cx" value="7938"><param name="_cy" value="1191"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></object><br /><br /><li>第二場: Learning 2.0<br />演講者:資策會創新應用服務研究所 蔡澤銘副主任</li><br /><object id="WindowsMediaPlayer1" height="45" width="300" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param name="URL" value="http://www.cuteofdragon.idv.tw/blog/2007/05/12/YuanpeiELearning2007_02.wma"><param name="rate" value="1"><param name="balance" value="0"><param name="currentPosition" value="0"><param name="defaultFrame" value=""><param name="playCount" value="1"><param name="autoStart" value="0"><param name="currentMarker" value="0"><param name="invokeURLs" value="-1"><param name="baseURL" value=""><param name="volume" value="50"><param name="mute" value="0"><param name="uiMode" value="full"><param name="stretchToFit" value="0"><param name="windowlessVideo" value="0"><param name="enabled" value="-1"><param name="enableContextMenu" value="-1"><param name="fullScreen" value="0"><param name="SAMIStyle" value=""><param name="SAMILang" value=""><param name="SAMIFilename" value=""><param name="captioningID" value=""><param name="enableErrorDialogs" value="0"><param name="_cx" value="7938"><param name="_cy" value="1191"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></object><br /><br /><li>第三場:數位學習與華語文學習應用<br />演講者:資策會創新應用服務研究所 蔡德祿組長</li><br /><object id="WindowsMediaPlayer1" height="45" width="300" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param name="URL" value="http://www.cuteofdragon.idv.tw/blog/2007/05/12/YuanpeiELearning2007_03.wma"><param name="rate" value="1"><param name="balance" value="0"><param name="currentPosition" value="0"><param name="defaultFrame" value=""><param name="playCount" value="1"><param name="autoStart" value="0"><param name="currentMarker" value="0"><param name="invokeURLs" value="-1"><param name="baseURL" value=""><param name="volume" value="50"><param name="mute" value="0"><param name="uiMode" value="full"><param name="stretchToFit" value="0"><param name="windowlessVideo" value="0"><param name="enabled" value="-1"><param name="enableContextMenu" value="-1"><param name="fullScreen" value="0"><param name="SAMIStyle" value=""><param name="SAMILang" value=""><param name="SAMIFilename" value=""><param name="captioningID" value=""><param name="enableErrorDialogs" value="0"><param name="_cx" value="7938"><param name="_cy" value="1191"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></object><br /><br /><li>第四場:學習數位化應用與數位化教材製作<br />演講者:資策會數位教育研究所 李鎮宇經理</li><br /><object id="WindowsMediaPlayer1" height="45" width="300" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6"><param name="URL" value="http://www.cuteofdragon.idv.tw/blog/2007/05/12/YuanpeiELearning2007_04.wma"><param name="rate" value="1"><param name="balance" value="0"><param name="currentPosition" value="0"><param name="defaultFrame" value=""><param name="playCount" value="1"><param name="autoStart" value="0"><param name="currentMarker" value="0"><param name="invokeURLs" value="-1"><param name="baseURL" value=""><param name="volume" value="50"><param name="mute" value="0"><param name="uiMode" value="full"><param name="stretchToFit" value="0"><param name="windowlessVideo" value="0"><param name="enabled" value="-1"><param name="enableContextMenu" value="-1"><param name="fullScreen" value="0"><param name="SAMIStyle" value=""><param name="SAMILang" value=""><param name="SAMIFilename" value=""><param name="captioningID" value=""><param name="enableErrorDialogs" value="0"><param name="_cx" value="7938"><param name="_cy" value="1191"><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /></object></ul><ul></ul><ul></ul><ul></ul><ul></ul><ul></ul><p><br />註:以上線上語音為個人收藏整理,如有任何問題請來信告之。</p><p></p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-5280327929946149843.post-51106441784499870242007-05-05T21:22:00.000-07:002011-08-02T00:11:29.640-07:00隨意桌面,數位溝通<a href="http://www.cuteofdragon.idv.tw/blog/2007/05/06/AdHocDesktop_v1.0.0.zip">下載</a><br /><br />軟體名稱:Ad Hoc Desktop<br />軟體版本:v 1.0.0<br />軟體大小:450 KB<br />軟體作者:cuteofdragon<br />軟體授權:免費軟體<br />發佈時間:2007/05/06<br /><br /><span style="font-size:130%;">背景概述</span><br />在行動裝置和數位家庭娛樂的旋風席捲全球下,人與人之間透過網路溝通的機會也大幅度的提升;MSN Messenger、SKype等即時通訊軟體提供豐富和多樣性的需求,從單純的文字傳訊到語音聊天和最後的視訊會議,清楚地突顯出一種重要的概念-「數位溝通」。<br /><br />在視訊會議普及的數位時代中,人們目前依然停留在人與人之間的溝通與互動,對於人與人和電腦之間的三方溝通缺乏有效的機制,也就是說人們無法透過眼前電腦螢幕的表現即時的告訴遠在另一端的朋友,像是會議簡報內容、行車電子地圖、軟體操作等;因此要是有一個「隨意桌面」的概念讓這樣的理想實現,那數位溝通將更能具體實現遠大的一句話:「電腦將無所不在」。<br />軟體導覽<br /><br />為了在數位時代實現數位溝通的理想,為了在網路世界創造隨意桌面的情境,本軟體運用新一代Microsoft .NET 2.0解決方案實現「隨意桌面,數位溝通」的理想,透過群組會議進行將桌面、視訊和語音一次雙向的傳送給所有的群組成員,運用TCP Socket、DirectSound和InteropServices技術讓數位溝通無遠弗屆。其中,TCP Socket傳送/接收序列化 串流資料,DirectSound提供語音錄製/播放功能,InteropServices連接Win32 API和COM元件將桌面序列化傳送。<br /><br />本軟體實現「隨意桌面,數位溝通」中創造了前所未見的數位時代溝通模式,人們可以視桌面為個人在網路上溝通的代理人,無論是在家、學校或是出外工作,皆可以隨時隨地的傳送您的代理人。在現今寬頻網路普及下,本軟體對於頻寬的限制亦相當重視,在隨意桌面傳送過程,平均每秒只需要30kbytes,這是因為本軟體實作螢幕比對、畫面壓縮和語音壓縮等技術,意味著「隨意桌面,數位溝通」的可行性、創新性和未來性。<br /><br /><span style="font-size:130%;">TCP Socket</span><br />使用System.Net.Sockets.TcpListener傾聽串流伺服器168連接埠,運用封包轉送原理將用戶端欲傳送的隨意桌面畫面轉送給邀請的另一個用戶端,即不需考慮兩地之間的防火牆限制。在畫面傳送時,撰寫System.Net.Sockets.Socket動態地產生AdHocDesktop_TcpObject物件,接收桌面和語音原始byte陣列,並使用System.Net.Sockets.NetworkStream進行物件序列化,物件序列化使用 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter。為了有效地減少資料量,本軟體撰寫螢幕比對原理和畫面及語音的壓縮,使隨意桌面在傳送期間,每秒平均為30kbytes,符合寬頻網路需求。<br /><br />在螢幕比對原理為將螢幕緩衝的畫面(如何取得螢幕緩衝詳見InteropService說明)以System.Drawing.Bitmap物件觀看,然後取出System.Drawing.Imaging.BitmapData,隨即可取得一維原始byte陣列,並根據Bitmap影像規格BGR原理進行比對。首先先取得一張比對依據影像,接下來取得的影像和前一張比對,相同的byte設為0。對於每一張影像的byte陣列採用System.IO.Compression.GZip壓縮;在另一端取得影像後,根據前一張完整影像進行影像重建,其減少傳送頻寬資料原理即相同byte設為0時,使用GZip即可有效地減少資料的儲存。在語音的壓縮亦使用GZip進行壓縮(如何取得語音緩衝詳DirectSound說明)。<br /><br /><span style="font-size:130%;">DirectSound </span><br />採用Microsoft.DirectX.DirectSound.CaptureBuffer取得語音緩衝,Microsoft.DirectX.DirectSound.SecondaryBuffer進行語音播放,CaptureBuffer和SecondaryBuffer採用環狀緩衝方式實作,也就是說緩衝區為一固定大小,而存在二個指標,一個指向當前讀取/寫入的位置,另一個指向下一次寫入/讀取的位置,當抵達緩衝區結尾時即回到緩衝區開頭。<br /><br />由於緩衝必需由其他執行緒取得,在即時資料傳送時必需使用Microsoft.DirectX.DirectSound.Notify和Microsoft.DirectX.DirectSound. BufferPositionNotify,透過定位CaptureBuffer/SecondaryBuffer緩衝區在讀取/寫入第n個索引時進進行執行緒回呼,並定義回呼方法,詳細實作細節詳見程式碼。<br /><br /><span style="font-size:130%;">InteropService<br /></span>透過System.Runtime.InteropServices.DllImport定義呼叫Win32 API的靜態方法,其中GetDesktopWindow()、GetDC()為取得桌面獨一無二Handle,根據CreateCompatibleDC()、CreateCompatibleBitmap()將Handle所指向的螢幕緩衝區轉換成HBitmap指標,最後透過System.Drawing.Graphics將HBitmap轉換成System.Drawing.Bitmap物件,完成螢幕緩衝取得。<br /><br /><span style="font-size:130%;">軟體需求 </span><br />作業軟體 相容Microsoft Windows XP SP2<br />相依套件 Microsoft .NET Framework 2.0<br />Microsoft DirectX 9.0c<br />硬體需求 CPU:Pentium IV 以上相容等級<br />記憶體:512 MB 以上<br />硬碟空間:8 GB 以上<br />選擇配備 視訊攝影機<br />音效卡 / 麥克風<br /><br /><span style="font-size:130%;">安裝執行</span><br /><ol><li>解壓縮AdHocDesktop_v1.0.0.zip。 </li><li>需由一台電腦執行AdHocDesktop.StreamServer.exe開啟隨意桌面串流伺服器,並確認本機運行此軟體電腦的網路IP位址,例如:192.168.1.2。 </li><li>欲進行隨意桌面傳送時,在別台電腦執行AdHocDesktop.User.exe開啟隨意桌面用戶端,並輸入隨意串流伺服器網路IP位址。 </li><li>接著進行登入,帳號密碼可任意輸入。 </li><li>開始啟動隨意桌面傳送。 </li></ol><br /><p><span style="font-size:130%;">隨意桌面傳送示意圖</span> </p><a href="http://4.bp.blogspot.com/_sHmsdCmWP98/Rj2gtu921QI/AAAAAAAAARo/1FGcMxRqnaI/s1600-h/01.png"><img src="http://4.bp.blogspot.com/_sHmsdCmWP98/Rj2gtu921QI/AAAAAAAAARo/1FGcMxRqnaI/s400/01.png" /></a><br /><p></p><br /><p><a href="http://www.cuteofdragon.idv.tw/blog/2007/05/06/AdHocDesktopManual_v1.0.0.pdf">原文下載</a> </p><p>本軟體榮獲2006微軟潛能創意盃台灣區軟體設計組 第三名。</p>Unknownnoreply@blogger.com4