<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-37683246</atom:id><lastBuildDate>Fri, 25 Dec 2009 10:50:11 +0000</lastBuildDate><title>ROY's Moving Castle</title><description /><link>http://roy2006tw.blogspot.com/</link><managingEditor>noreply@blogger.com (ROY LO)</managingEditor><generator>Blogger</generator><openSearch:totalResults>52</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/RoyMovingCastle" /><itunes:owner><itunes:email>noreply@blogger.com</itunes:email></itunes:owner><itunes:explicit>no</itunes:explicit><itunes:subtitle></itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7437031156600354802</guid><pubDate>Tue, 22 Dec 2009 07:36:00 +0000</pubDate><atom:updated>2009-12-22T15:36:21.630+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>完整清除 .NET Framework 的工具 – .NET Framework Cleanup Utility</title><description>.NET Framework 是一個由微軟推出的應用程式開發架構，使用這個架構開發出來的應用程式必須在裝有 .NET Framework 的電腦才可以執行。從一開始的 .NET Framework 1.0 到現在的 .NET Framework 3.5，中間的版本延革也經過了三個 (1.1、2.0 及 3.0) 版本。&lt;br /&gt;
&lt;br /&gt;
但有時候在反覆安裝；或者不正常安裝、移除之後可能會讓 .NET Framework 產生錯誤，像是檔案損毀、登錄資料錯亂或是 MSI 安裝註冊資訊損毀等等。在這種情形下，除了會導致需要 .NET Framework 的軟體不能正在運作之外，還會無法移除 .NET Framework，就算要重新安裝修復也會出現錯誤。&lt;br /&gt;
&lt;br /&gt;
遇到這種問題，大部份的人可能會快刀斬亂麻，直接重灌作業系統比較痛快。但是有了下面這個工具，當有 .NET Framework 無法移除、重新安裝的問題時，不需要重灌電腦也能解決。&lt;br /&gt;
&lt;br /&gt;
.NET Framework Cleanup Utility 是一個由微軟內部工程師開發的小工具。它最主要的用處就是清除安裝在電腦裡的 .NET Framework。不管是 .NET Framework 的檔案、登錄檔、MSI 安裝註冊資訊通通清得一乾二淨。目前支援到 .NET Framework 3.5，包括以前的版本都可以完整地移除。把有錯誤的 .NET Framework 清理之後再重新安裝就沒有問題了。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blogs.msdn.com/astebner/attachment/8904493.ashx"&gt;下載連結&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7437031156600354802?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/x-Wmc5TqUHg/net-framework-net-framework-cleanup.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure url="http://blogs.msdn.com/astebner/attachment/8904493.ashx" length="261246" type="application/x-zip-compressed" /><media:content url="http://blogs.msdn.com/astebner/attachment/8904493.ashx" fileSize="261246" type="application/x-zip-compressed" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>.NET Framework 是一個由微軟推出的應用程式開發架構，使用這個架構開發出來的應用程式必須在裝有 .NET Framework 的電腦才可以執行。從一開始的 .NET Framework 1.0 到現在的 .NET Framework 3.5，中間的版本延革也經過了三個 (1.1、2.0 及 3.0) 版本。 但有時候在反覆安裝；或者不正常安裝、移除之後可能會讓 .NET Framework 產生錯誤，像是檔案損毀、登錄資料錯亂或是 MSI 安裝註冊資訊損毀等等。在這種情形下，除了會導致需要 .</itunes:subtitle><itunes:author>noreply@blogger.com (ROY LO)</itunes:author><itunes:summary>.NET Framework 是一個由微軟推出的應用程式開發架構，使用這個架構開發出來的應用程式必須在裝有 .NET Framework 的電腦才可以執行。從一開始的 .NET Framework 1.0 到現在的 .NET Framework 3.5，中間的版本延革也經過了三個 (1.1、2.0 及 3.0) 版本。 但有時候在反覆安裝；或者不正常安裝、移除之後可能會讓 .NET Framework 產生錯誤，像是檔案損毀、登錄資料錯亂或是 MSI 安裝註冊資訊損毀等等。在這種情形下，除了會導致需要 .NET Framework 的軟體不能正在運作之外，還會無法移除 .NET Framework，就算要重新安裝修復也會出現錯誤。 遇到這種問題，大部份的人可能會快刀斬亂麻，直接重灌作業系統比較痛快。但是有了下面這個工具，當有 .NET Framework 無法移除、重新安裝的問題時，不需要重灌電腦也能解決。 .NET Framework Cleanup Utility 是一個由微軟內部工程師開發的小工具。它最主要的用處就是清除安裝在電腦裡的 .NET Framework。不管是 .NET Framework 的檔案、登錄檔、MSI 安裝註冊資訊通通清得一乾二淨。目前支援到 .NET Framework 3.5，包括以前的版本都可以完整地移除。把有錯誤的 .NET Framework 清理之後再重新安裝就沒有問題了。 下載連結</itunes:summary><itunes:keywords>VB.NET, Windows</itunes:keywords><feedburner:origLink>http://roy2006tw.blogspot.com/2009/12/net-framework-net-framework-cleanup.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-8357846568505191532</guid><pubDate>Tue, 22 Dec 2009 06:16:00 +0000</pubDate><atom:updated>2009-12-22T14:19:46.883+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">XP</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Windows Update 或 Automatic Update 下載更新會出現下載成功卻安裝失敗</title><description>遇到 Windows XP 更新時出現下載成功卻安裝失敗的情況嗎? 解決方法如下: &lt;br /&gt;
1. &lt;a href="http://support.microsoft.com/kb/945099/zh-tw"&gt;微軟知識庫&lt;/a&gt; 下載 wufix.zip&lt;br /&gt;
2. 如果以上方法還是不行更新, &lt;a href="http://support.microsoft.com/kb/961054/zh-tw"&gt;Microsoft技術支援.一點通&lt;/a&gt; 下載 Microsoft Fix it &lt;br /&gt;
3. 如果以上方法還是不行更新,執行 cmd, 輸入命令 sfc /scannow, 接著也許要放入原版 XP 光碟, 然後修復約 1 個小時&lt;br /&gt;
&lt;br /&gt;
重新開機後, 應該就可以更新了!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-8357846568505191532?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/SMlkZkiq_sE/windows-update-automatic-update.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/12/windows-update-automatic-update.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-1156520241186398718</guid><pubDate>Fri, 11 Dec 2009 09:13:00 +0000</pubDate><atom:updated>2009-12-23T16:11:39.407+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>Invoke 會造成無限迴圈??</title><description>在 Timer 物件中加入呼叫以下函式&lt;br /&gt;
&lt;code class="code"&gt;Public Sub SetImage(ByVal s As PictureBox, ByVal img As Image)&lt;br /&gt;
If s.InvokeRequired Then&lt;br /&gt;
s.Invoke(New Action(Of PictureBox, Image)(AddressOf SetImage), New Object() {s, img})&lt;br /&gt;
Else&lt;br /&gt;
s.Image = CType(img.Clone, Image)&lt;br /&gt;
End If&lt;br /&gt;
End Sub&lt;/code&gt;&lt;br /&gt;
間隔時間為 100 ms, 結果有時會造成軟體無回應, 應該是進入了無限迴圈, 只好改成&lt;br /&gt;
&lt;code class="code"&gt;try&lt;br /&gt;
PictureBox1.Image = CType(img.clone, Image)&lt;br /&gt;
Catch ex as Exception&lt;br /&gt;
'sometime there is error "其他地方正在使用此物件" &lt;br /&gt;
End Try&lt;/code&gt;&lt;br /&gt;
並以 try...catch 區段偵錯, 避免其他的錯誤&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-1156520241186398718?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/_T5JxZw9MWY/invoke.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/12/invoke.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7004361836257908821</guid><pubDate>Mon, 16 Nov 2009 07:24:00 +0000</pubDate><atom:updated>2009-11-16T15:24:30.248+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>XP pro 版 (PC1) 遠端連線至 XP Home 版 (PC2)</title><description>1. 存取被拒 (0x80070005) , 因為 XP Home 版不允許遠端連入(被控端)&lt;br /&gt;
2. 在 Google 查詢關鍵字 XP Home remote desktop client 找到一則非常有用的&lt;a href="http://www.mydigitallife.info/2008/06/14/install-and-enable-remote-desktop-in-windows-xp-home-edition/"&gt;文章&lt;/a&gt; 可以將 XP Home 轉成 XP Pro (實際上是我的電腦&gt;內容&gt;一般&gt;系統&gt;原本是 home edition 變為 professional )&lt;br /&gt;
&lt;br /&gt;
ps. 1. WMI 透過防火牆遠端存取, 可以在 google 輸入關鍵字 "WMI connecting throught firewall" 或是 "如何疑難排解 windows xp sp2 中的 WMI 相關問題"&lt;br /&gt;
http://msdn.microsoft.com/en-us/libary/aa389286(VS.85).aspx&lt;br /&gt;
http://suport.microsoft.com/?scid=kb;zh-tw;875605&amp;x=21&amp;y=13&lt;br /&gt;
2. cmd 指令: netstat -b 可以監控被開啟的 port , nbtstat 指令, arp 指令&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7004361836257908821?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/fTlWW2JjAds/xp-pro-pc1-xp-home-pc2.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/11/xp-pro-pc1-xp-home-pc2.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-97844854313508065</guid><pubDate>Mon, 16 Nov 2009 07:21:00 +0000</pubDate><atom:updated>2009-11-16T15:21:05.052+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">網路</category><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><category domain="http://www.blogger.com/atom/ns#">MSDOS</category><title>找出被鎖定的 port 之 pid 並砍掉</title><description>cmd 指令&lt;br /&gt;
指令 netstat -nao 找出被鎖定的 port 之 pid&lt;br /&gt;
指令 taskkill /pid [pid number]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-97844854313508065?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/ys_5gFxLeYI/port-pid.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/11/port-pid.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-4651641260341267569</guid><pubDate>Mon, 16 Nov 2009 07:19:00 +0000</pubDate><atom:updated>2009-11-16T15:19:29.560+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>Deploying Windows XP Embedded Remote Boot</title><description>&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2fc450e7-a2d9-4e75-b6ba-9570653f0891&amp;displaylang=en"&gt;Windows XP Embedded Remote Boot&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-4651641260341267569?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/1Q3zCAo60qI/deploying-windows-xp-embedded-remote.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/11/deploying-windows-xp-embedded-remote.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-3661407733800863485</guid><pubDate>Sat, 14 Nov 2009 10:44:00 +0000</pubDate><atom:updated>2009-11-14T18:44:50.369+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>於Windows XP home edition 安裝群組原則gpedit.msc</title><description>有方法可以讓home版有群組原則gpedit.msc&lt;br /&gt;
1、將XP專業版的「C:\WINDOWS\system32」文件夾中的gpedit.msc、fde.dll、gpedit.dll、gptext.dll、wsecedit.dll文件複製到HOME版的「C:\WINDOWS\system32」文件夾中。&lt;br /&gt;
2、在「開始--執行」中依次執行以下命令：「regsvr32 fde.dll」、「regsvr32 gpedit.dll」、「regsvr32 gptext.dll」、「regsvr32 wsecedit.dll」分別註冊這4個動態數據庫。&lt;br /&gt;
3、將XP專業版的「C:\WINDOWS\INF」文件夾中的所有*.adm文件複製替換到HOME版的「C:\WINDOWS\INF」文件夾中&lt;br /&gt;
4、最後單擊“開始--執行”，輸入“gpedit.msc”便可以啟動組策略了。&lt;br /&gt;
這樣home的xp也就有群組原則的功能&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-3661407733800863485?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/3MGAwgL7roc/windows-xp-home-edition-gpeditmsc.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/11/windows-xp-home-edition-gpeditmsc.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-6079962535629870451</guid><pubDate>Thu, 29 Oct 2009 13:29:00 +0000</pubDate><atom:updated>2009-10-29T21:29:28.181+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>安裝方案(setup project) 存取加入檔案的屬性</title><description>安裝方案(setup project): 要如何在 IDE 巨集中存取 DTE.Solution.Projects.Item(1).ProjectItems 呢? 在讀取 ProjectItems 永遠都是 Nothing, 微軟知識文件庫內沒有相關的解答, 在 project 物件中發現 project.Object, 但不知此物件是何種型別, 在除錯過程中意外發現是 &lt;a href="http://www.webtropy.com/articles/art14-2.asp?Interop=VsdPrjPackageLib"&gt;IVsdDeployable&lt;/a&gt; 介面, 但 MSDN 中找不到此文件庫, 只有亂槍打鳥, 終於可以存取我要的屬性, 範例: project.Object.PlugIns.Item("File").Items.Item("Key String").Exclude = True 其中 Key String 在 vdproj (Visual Studio Deployment Project) 文件中找到 &lt;br /&gt;
&lt;code class="code"&gt;"Deployable"&lt;br /&gt;
    {&lt;br /&gt;
        "CustomAction"&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
        "DefaultFeature"&lt;br /&gt;
        {&lt;br /&gt;
        "Name" = "8:DefaultFeature"&lt;br /&gt;
        "Title" = "8:"&lt;br /&gt;
        "Description" = "8:"&lt;br /&gt;
        }&lt;br /&gt;
        "ExternalPersistence"&lt;br /&gt;
        {&lt;br /&gt;
            "LaunchCondition"&lt;br /&gt;
            {&lt;br /&gt;
                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_109CDC28AA5F4F228EA2CC29D3AE023B"&lt;br /&gt;
                {&lt;br /&gt;
                "Name" = "8:.NET Framework"&lt;br /&gt;
                "Message" = "8:[VSDNETMSG]"&lt;br /&gt;
                "Version" = "8:3.5.21022"&lt;br /&gt;
                "AllowLaterVersions" = "11:FALSE"&lt;br /&gt;
                "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=76617"&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        "File"&lt;br /&gt;
        {&lt;br /&gt;
            "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:&lt;i&gt;_09DBFD9ACD96CF1680BC032323448DB6&lt;/i&gt;"&lt;br /&gt;
            {&lt;br /&gt;
            "SourcePath" = "8:dte80a.olb"&lt;br /&gt;
            "TargetName" = "8:dte80a.olb"&lt;br /&gt;
            "Tag" = "8:"&lt;br /&gt;
            "Folder" = "8:_458D6C3F7E084B2A93526BC1EAB03D6D"&lt;br /&gt;
            "Condition" = "8:"&lt;br /&gt;
            "Transitive" = "11:FALSE"&lt;br /&gt;
            "Vital" = "11:TRUE"&lt;br /&gt;
            "ReadOnly" = "11:FALSE"&lt;br /&gt;
            "Hidden" = "11:FALSE"&lt;br /&gt;
            "System" = "11:FALSE"&lt;br /&gt;
            "Permanent" = "11:FALSE"&lt;br /&gt;
            "SharedLegacy" = "11:FALSE"&lt;br /&gt;
            "PackageAs" = "3:1"&lt;br /&gt;
            "Register" = "3:1"&lt;br /&gt;
            "Exclude" = "11:FALSE"&lt;br /&gt;
            "IsDependency" = "11:TRUE"&lt;br /&gt;
            "IsolateTo" = "8:"&lt;br /&gt;
            }&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-6079962535629870451?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/jNEs0B6SNBo/setup-project.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/10/setup-project.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-1771165794198181071</guid><pubDate>Fri, 23 Oct 2009 03:58:00 +0000</pubDate><atom:updated>2009-10-23T12:00:14.052+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>合併模組專案中加入自訂動作</title><description>在合併模組專案中加入自訂動作, 並設定屬性 InstallerClass 為 true, 結果建置此專案時卻發生建置失敗, 後來在 MSDN 論壇找到了解答, 原來要將 VS2008 升級為 SP1, 於是下載VS90sp1-KB945140-CHT.exe, 但為了下次不需重新下載, 寫了批次檔&lt;code class="code"&gt;VS90sp1-KB945140-CHT.exe /createlayout '放置路徑'&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-1771165794198181071?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/bD3HcZBkQF0/blog-post.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/10/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-4914347995477939708</guid><pubDate>Sat, 17 Oct 2009 06:40:00 +0000</pubDate><atom:updated>2009-10-17T14:40:29.747+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>VB.NET 監控 USB 裝置插拔</title><description>為了可以監控 USB 裝置插拔, 採用 &lt;a href="http://en.wikipedia.org/wiki/Windows_Management_Instrumentation"&gt;WMI&lt;/a&gt;(Windows Management Instrumentation) 來實現, 如果是在本機查詢的話, 不會有 CPU 佔用使用率的問題 (wmiprvse.exe), 但是在某遠端電腦的監控, 就會有 CPU 使用率過高的問題, 後來改用 WINPROC 處理 Windows 訊息, 不過要用到 &lt;a href="http://msdn.microsoft.com/en-us/library/cc185682(VS.85).aspx"&gt;window Setup API&lt;/a&gt; 由於程式編輯器是 VB.NET, 找到 VC++ 的源碼, 再一步步的轉譯, 再來就是測試, 後來寫成一個類別, 發現處理訊息要靠 Form 表單來觸發, 於是加上繼承類別 NativeWindow, 並使用 AssignHandle 方法, 因為不知道主程式表單的 handle 何時產生, 又加上 Timers.Timer 來監控主程式表單, 結果碰到跨執行緒的問題, 所以再加上 invoke 功能, 到此測試監控遠端電腦 USB 裝置插拔的功能正常, 也許還有 bug 和改進的空間, 繼續工作囉,...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-4914347995477939708?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/iYwHMR1U7os/vbnet-usb.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/10/vbnet-usb.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-6397520253039281778</guid><pubDate>Tue, 06 Oct 2009 03:08:00 +0000</pubDate><atom:updated>2009-10-06T11:12:13.797+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>WMI Run Remote Process</title><description>如何使用 WMI 來遠端執行指定的應用程式, 經過網路搜尋雖然可以用 WIN32_Process 來執行遠端軟體, 但遠端電腦中不能顯示軟體的 UI. &lt;br /&gt;
(參考 MSDN &lt;a href="http://msdn.microsoft.com/en-s/library/aa389388(VS.85).aspx"&gt;WIN32_Process&lt;/a&gt;)&lt;br /&gt;
後來找到迂迴的方法, 在遠端建立指定軟體的排程工作 Win32_ScheduledJob, 然後再呼叫 schtasks 批次, 但是遠端建立的排程工作卻無法執行在(program files)資料夾中的的軟體, 所以最後利用 psexec 的工具軟體來實現遠端呼叫, &lt;br /&gt;
不過還是要設定防火牆的一些&lt;a href="http://msdn.microsoft.com/en-us/library/aa389286(VS.85).aspx"&gt;設定&lt;/a&gt;, &lt;br /&gt;
&lt;code class="code"&gt;1. netsh firewall set service RemoteAdmin enable&lt;br /&gt;
2. netsh firewall add portopening protocol=tcp port=135 name=DCOM_TCP135&lt;br /&gt;
3. Do Administrative Tools-&gt;Local Security Settings-&gt;Local Policies-&gt;Security Options and look for the line "Network Access:Sharing and security model for local accounts". As of at most 6 months ago, the default value for this "key" was "Classic - local users authenticate as themselves". But new XP installations and those with recent security updates will have a default value of "Guest only - local users authenticate as Guest". Change it back to "Classic - local users... etc.,." &lt;br /&gt;
4. netsh firewall add allowedprogram program=%windir%\system32\wbem\unsecapp.exe name=UNSECAPP (以我的 case 不需要)&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;code class="code"&gt;Dim options As New ConnectionOptions&lt;br /&gt;
With options&lt;br /&gt;
.Username = UserName&lt;br /&gt;
.Password = Password&lt;br /&gt;
End With&lt;br /&gt;
CMessage.Show("RemoteCall : " &amp; RemoteIP, "Run remote process.", 26)&lt;br /&gt;
Dim scope As New ManagementScope(String.Format("\\{0}\root\cimv2", RemoteIP), options)&lt;br /&gt;
scope.Connect()&lt;br /&gt;
Dim getOptions As New ObjectGetOptions(Nothing, New TimeSpan(0, 0, 0, 3), True)&lt;br /&gt;
Dim processClass As New ManagementClass(scope, New System.Management.ManagementPath("Win32_Process"), getOptions)&lt;br /&gt;
For Each m As ManagementObject In processClass.GetInstances&lt;br /&gt;
If m("Name").ToString = ("Remote-Tool.exe") Then&lt;br /&gt;
m.InvokeMethod("Terminate", New Object() {0})&lt;br /&gt;
CMessage.Text("Terminate Process", 26) = "Stop Remote-Server..."&lt;br /&gt;
End If&lt;br /&gt;
Next&lt;br /&gt;
'==============Method Psexec Tool:&lt;br /&gt;
Shell(Application.StartupPath &amp; String.Format("\psexec \\{0} -u {1} -p {2} -i -d ""notepad.exe""", RemoteIP, UserName, Password), AppWinStyle.NormalFocus, True)&lt;br /&gt;
Dim flag As Boolean&lt;br /&gt;
Do&lt;br /&gt;
For Each m As ManagementObject In processClass.GetInstances&lt;br /&gt;
If m("Name").ToString = "Remote-Tool.exe" Then&lt;br /&gt;
flag = True&lt;br /&gt;
Exit For&lt;br /&gt;
End If&lt;br /&gt;
Next m&lt;br /&gt;
Threading.Thread.Sleep(200)&lt;br /&gt;
Application.DoEvents()&lt;br /&gt;
Loop Until flag&lt;br /&gt;
End Using&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-6397520253039281778?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/pL6hMlhMCRM/wmi-run-remote-process.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/10/wmi-run-remote-process.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-943420024257787238</guid><pubDate>Tue, 29 Sep 2009 07:06:00 +0000</pubDate><atom:updated>2009-09-29T15:06:22.213+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>VB.NET: 使用 WMI 呼叫應用程式</title><description>&lt;code class="code"&gt;Using mr As New ManagementClass("Win32_ProcessStartup")&lt;br /&gt;
Dim objConfig As PropertyData = mr.Properties("ShowWindow")&lt;br /&gt;
objConfig.Value = 1&lt;br /&gt;
Using mc As New ManagementClass("Win32_Process")&lt;br /&gt;
mc.Scope.Options.EnablePrivileges = True&lt;br /&gt;
Dim inParams As ManagementBaseObject = mc.GetMethodParameters("Create")&lt;br /&gt;
inParams("CommandLine") = "Notepad.exe"&lt;br /&gt;
inParams("CurrentDirectory") = Environment.SystemDirectory&lt;br /&gt;
inParams("ProcessStartupInformation") = mr&lt;br /&gt;
Dim outParams As ManagementBaseObject = mc.InvokeMethod("Create", inParams, Nothing)&lt;br /&gt;
Dim returnObj As Object = outParams("ReturnValue")&lt;br /&gt;
End Using&lt;br /&gt;
End Using&lt;/code&gt;&lt;br /&gt;
已經成功使用 WMI 呼叫應用程式, 但如何呼叫遠端呢? 努力中...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-943420024257787238?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/5lxO9pdZL3Q/vbnet-wmi.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/09/vbnet-wmi.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-8821468263883286615</guid><pubDate>Thu, 09 Jul 2009 04:59:00 +0000</pubDate><atom:updated>2009-07-09T13:52:41.704+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>如何在VB.NET中引用Dll</title><description>在VB.NET中通常可以用'加入參考'的方式來引用DLL&lt;br /&gt;也可以用宣告API的方式,這裡我用的是另一種方式&lt;br /&gt;1.需要用到一些函式 LoadLibrary , GetProcAddress , GetModuleHandle , FreeLibrary &lt;br /&gt;&lt;code class="code"&gt;Public Declare Function GetProcAddress Lib "kernel32" _&lt;br /&gt;(ByVal hModule As Integer, ByVal lpProcName As String) As Integer&lt;br /&gt;Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" _&lt;br /&gt;(ByVal lpProcName As String) As Integer&lt;br /&gt;Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" _&lt;br /&gt;(ByVal lpModuleName As String) As Integer&lt;br /&gt;Public Declare Function FreeLibrary Lib "kernel32" Alias "FreeLibrary" _&lt;br /&gt;(ByVal hLibModule As Integer) As Integer&lt;/code&gt;&lt;br /&gt;2.加入System.Runtime.InteropServices參考&lt;br /&gt;&lt;code class="code"&gt;Imports System.Runtime.InteropServices&lt;/code&gt;&lt;br /&gt;3.宣告委派,依據DLL的函式,例如&lt;br /&gt;&lt;code class="code"&gt;Public Delegate Function DllFunction _&lt;br /&gt;(ByVal Parameter As Integer) As Integer&lt;/code&gt;&lt;br /&gt;4.建立函式,例如&lt;br /&gt;&lt;code class="code"&gt;Public Function FDllFunction _&lt;br /&gt;(ByVal Parameter As Integer) As Integer&lt;br /&gt;   If hDEV = 0 Then Return -1&lt;br /&gt;   Dim v As Integer = GetProcAddress(hDEV, "DllFunction")&lt;br /&gt;   Dim a As DllFunction = _&lt;br /&gt;   CType(Marshal.GetDelegateForFunctionPointer(New IntPtr(v), _&lt;br /&gt;   GetType(DllFunction)), DllFunction)&lt;br /&gt;   If IsNothing(a) = False Then FDllFunction = a.Invoke(Parameter)&lt;br /&gt;End Function&lt;/code&gt;&lt;br /&gt;5.在使用DLL函式前,要先呼叫 Loadlibary&lt;br /&gt;結束程式也要呼叫 FreeLibary&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-8821468263883286615?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/q1DdAcofopA/vbnetdll.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/07/vbnetdll.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-8108702885144243371</guid><pubDate>Wed, 03 Jun 2009 06:01:00 +0000</pubDate><atom:updated>2009-06-03T14:09:18.201+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">XP</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>建立壓縮檔的批次檔(.bat)</title><description>&lt;code class="code"&gt;Path %ProgramFiles%\WinRAR&lt;br /&gt;RAR a -m5 -ep -pPassword "sample 1.rar" @1.lst&lt;/code&gt;&lt;br /&gt;第一行是設定 WinRAR 的環境路徑&lt;br /&gt;第二行 "sample 1.rar" 建立的壓縮檔, 如果有空白字元則使用雙引號.&lt;br /&gt;@1.lst 是被壓縮的檔案清單, 內容範例如下&lt;br /&gt;&lt;code class="code"&gt;..\*.txt&lt;br /&gt;..\*.bmp&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-8108702885144243371?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/Ll8nipu9ofM/bat.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/06/bat.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-8252187781727310842</guid><pubDate>Wed, 20 May 2009 01:29:00 +0000</pubDate><atom:updated>2009-05-20T09:31:18.323+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><category domain="http://www.blogger.com/atom/ns#">微軟</category><title>強式名稱組件</title><description>強式名稱組件 (Strong-named Assembly)&lt;br /&gt;要註冊到 GAC 的組件，都必須是強式名稱組件，而要將組件變成強式名稱組件，必須使用一組金鑰對該組件進行簽署的動作。首先必須使用 sn.exe 產生一對金鑰，例如：&lt;br /&gt;&lt;br /&gt;sn.exe -k MyKey.snk產生的 MyKey.snk 會包含一組公開金鑰與私密金鑰。&lt;br /&gt;&lt;br /&gt;接著再利用這個金鑰檔簽署組件，做法是在專案屬性的「Signing」頁籤中勾選「Sign the assembly」核取方塊，並且指定金鑰的檔案名稱。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;為何需要將組件延遲簽章？&lt;br /&gt;由於組件的簽章代表了唯一性，對一家專門生產 .NET 元件的公司來說，所有的組件的簽章都會使用同一組金鑰，也就是說，某家公司所建立的組件都會具有相同的簽章，而經由組件的簽章，也可以得知某個組件是否是由該公司所生產的。&lt;br /&gt;&lt;br /&gt;然而，從建立強式名稱的過程當中我們知道，開發人員必須有金鑰檔，才能建立強式名稱組件。這樣一來，公司裡面的每一個開發人員都可以拿到代表該公司的金鑰，萬一其中有人拿金鑰暗中建立了一個含有惡意程式的組件，就會影響到該公司的信譽。換句話說，金鑰應該視為公司的機密資料，一但外洩，很可能會被冒名頂替去做一些違法的事情。&lt;br /&gt;&lt;br /&gt;另一種情況是，當你辛苦寫了一套元件或應用程式，希望不要被別人用逆向工程的方式看到原始碼，你可能會利用 obfuscator 工具將邊編譯過的組件重新"攪亂"一番。如果你事先就加入組件簽章，那麼組件再經過 obfuscator 工具更動過後，程式就不能執行了（.NET CLR 會發現組件被"污染"過了，而拒絕執行）。&lt;br /&gt;&lt;br /&gt;組件延遲簽章的技術就是用來解決上述問題。&lt;br /&gt;&lt;br /&gt;組件延遲簽章的做法&lt;br /&gt;組件延遲簽章的做法，是只先用公開金鑰簽署組件，等到組件開發完成，要打包、發行產品時，才使用完整金鑰對該組件進行簽署（完整金鑰的保管人通常是是高階主管）。&lt;br /&gt;&lt;br /&gt;舉例來說，假設某家公司限定只有開發部門的主管可以拿到金鑰，那麼該主管可以使用以下命令從金鑰檔中取出公開金鑰：&lt;br /&gt;&lt;br /&gt;sn.exe -p MyKey.snk MyPublicKey.snk然後把 MyPublicKey.snk 交給其他開發人員。這樣一來，開發人員就只有拿到公開金鑰。可是開發人員如果依照前面介紹的方式簽署組件，在建立組件時就會發生編譯錯誤：&lt;br /&gt;&lt;br /&gt;Cryptographic failure while signing assembly 'MyAsmb.dll' -- &lt;br /&gt;'Key file 'MyPublicKey.snk' is missing the private key needed for signing' DelaySignedAsmb&lt;br /&gt;因為在為組件加入簽章時，還必須要有私密金鑰才行。此時就必須用到延遲簽章，做法是在專案屬性的「Signing」頁籤中勾選「Delay sign only」選項。這樣就可以順利在開發時期建立延遲簽章的組件了。利用此方法所建立的組件，編譯器會在組件中加入公開金鑰，並且保留一些空間給私密金鑰，以便未來正式簽署組件時寫入這個保留的空間。&lt;br /&gt;&lt;br /&gt;但是這樣還是有問題，當其他開發人員要使用這個組件時，可以順利加入組件參考和編譯專案，可是在執行程式時卻會出現 FileLoadException：&lt;br /&gt;&lt;br /&gt;Could not load file or assembly 'MyAsmb, Version=1.0.0.0, Culture=neutral, &lt;br /&gt;PublicKeyToken=f0bed8b38a4d3590' or one of its dependencies. &lt;br /&gt;Strong name validation failed. (Exception from HRESULT: 0x8013141A)這是因為 CLR 在載入組件時，會先驗證該組件的簽章是否正確。由於組件使用了延遲簽章，組件裡面只有公開金鑰而沒有私密金鑰，因此 CLR  在驗證組件簽章時就會失敗，因而無法載入組件。因此，開發人員還必須做一件事情，就是告訴 CLR 在載入這個組件時，不要驗證它的簽章是否有效。做法是使用 sn.exe 加上 -Vr 參數，例如：&lt;br /&gt;&lt;br /&gt;sn.exe -Vr MyAsmb.dll這個命令並不會改變 MyAsmb.dll 的檔案內容，只是在系統中加入一項註冊資訊，告訴 CLR 在載入 MyAsmb.dll 時，不要驗證它的簽章。&lt;br /&gt;&lt;br /&gt;註：如果要恢復驗證簽章，可以用 -Vu 參數，例如：&lt;br /&gt;sn.exe -Vu MyAsmb.dll &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;這樣一來，所有的開發人員就可以在自己的機器上順利進行開發的工作了。等到所有的組件都開發測試完畢，要發行產品時，只要由持有完整金鑰的主管對組件重新簽署就行了，做法是使用 sn.exe 加上 -R 參數，例如；&lt;br /&gt;&lt;br /&gt;sn.exe -R MyAsmb.dll MyKey.snk&lt;br /&gt;&lt;br /&gt;這樣會將 MyAsmb.dll 以 MyKey.snk 重新簽署，組件的專案完全不用修改或重新編譯，只要將此重新簽署過的組件部署到用戶端就行了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-8252187781727310842?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/-dD6Yte0FFs/blog-post.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/05/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-3379298907602677146</guid><pubDate>Fri, 08 May 2009 00:41:00 +0000</pubDate><atom:updated>2009-05-08T09:11:41.398+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>VB.NET - 註冊 ActiveX 元件</title><description>&lt;code class="code"&gt;Try&lt;br /&gt;  Dim obj As Object = CreateObject(&lt;strong&gt;ProgID&lt;/strong&gt;)&lt;br /&gt;Catch ex As Exception&lt;br /&gt;  Process.Start("regsvr32.exe", "/s " &amp; OCXFile)&lt;br /&gt;  Threading.Thread.Sleep(200)&lt;br /&gt;End Try&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ProgID: ActiveX 元件的代碼&lt;br /&gt;OCXFile: ActiveX 的檔案名&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-3379298907602677146?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/lRKOpxonUUw/activex.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/05/activex.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-2886472085242374225</guid><pubDate>Thu, 23 Apr 2009 08:56:00 +0000</pubDate><atom:updated>2009-04-23T16:58:54.784+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">XP</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>WindowsXP 內建惡意軟體移除工具</title><description>開始 &gt; 執行 &gt; 鍵入 "MRT.exe"&lt;br /&gt;依照畫面指示進行掃描.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-2886472085242374225?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/l1ezAh9O_6Y/windowsxp.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/04/windowsxp.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-2244246350603800886</guid><pubDate>Mon, 20 Apr 2009 02:02:00 +0000</pubDate><atom:updated>2009-04-20T10:03:49.732+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">英文</category><title>英文祝賀語</title><description>歲歲平安 : Peace through the years. &lt;br /&gt;一元復始 : A new year, a new beginning. &lt;br /&gt;心想事成 : May all your wishes come true. &lt;br /&gt;花開富貴 : May your year flower in riches. &lt;br /&gt;恭賀新禧 : Best wishes for a happy new year. &lt;br /&gt;萬事如意 : Hope everything goes well on your way. &lt;br /&gt;大吉大利 : I wish you good fortune and every success. &lt;br /&gt;財源廣進 : May a river of gold flow into your pockets. &lt;br /&gt;年年有餘 : May you always get more than you wish for. &lt;br /&gt;迎春接福 : May the New Year bring you a good fortune. &lt;br /&gt;http://www.eztalk.to/forum/forum_2.asp?id=4200&amp;connum=152&lt;br /&gt;&lt;br /&gt;友情祝福語&lt;br /&gt;From majestic mountains and valleys of green to crystal clear waters so blue, this wish is coming to you.&lt;br /&gt;越過青翠的峻岭和山谷，直到晶瑩湛藍的水邊，飛來了我對你的祝福。&lt;br /&gt;&lt;br /&gt;A friend is a loving companion at all times.&lt;br /&gt;朋友是永久的知心伴侶。&lt;br /&gt;&lt;br /&gt;When I think of you the miles between us disappear.&lt;br /&gt;當我想起你，相隔千里，如在咫尺。&lt;br /&gt;&lt;br /&gt;You're wonderful friend, and I treasure you more with every year.&lt;br /&gt;你是一位難得的摯友，我對你的珍重與歲俱增。&lt;br /&gt;&lt;br /&gt;http://www.haimay.com/download/jierizhufu/youqing.htm&lt;br /&gt;&lt;br /&gt;新年祝福語&lt;br /&gt;http://www.haimay.com/download/jierizhufu/yingwenxinnianzhufuyu.htm&lt;br /&gt;&lt;br /&gt;其他祝福語&lt;br /&gt;http://www.haimay.com/download/jierizhufu/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Best wishes. 祝福你（心想事成等等）&lt;br /&gt;Good luck. 祝你幸運&lt;br /&gt;God bless you. 神保佑你&lt;br /&gt;Please accept my hearty congratulations. 請接受我衷心的祝賀&lt;br /&gt;I hope all is well with you. 祝你萬事如意&lt;br /&gt;Have a nice day. 祝你有愉快的一天&lt;br /&gt;May happy returns of the day. 祝你天天都快樂&lt;br /&gt;Wish you success. 祝你成功&lt;br /&gt;Have a nice trip. 旅途愉快&lt;br /&gt;All the best. 祝萬事如意&lt;br /&gt;The best of luck. 祝你好運&lt;br /&gt;Have a pleasant time. 祝你玩的開心&lt;br /&gt;May you live long and prosper. 祝福你長壽且事業成功&lt;br /&gt;May you be happy. 祝你開心&lt;br /&gt;Congratulations. 恭喜&lt;br /&gt;May you have good fortune. 祝你幸運&lt;br /&gt;May you have good health and joy throughout the life. 祝一輩子健康快樂&lt;br /&gt;I wish you a successful new year. 希望你新的一年大成功&lt;br /&gt;Good luck to you. 祝你好運&lt;br /&gt;Every success in your business. 祝你事業成功 &lt;br /&gt;&lt;br /&gt;新年祝福語&lt;br /&gt;http://www.haimay.com/download/jierizhufu/yingwenxinnianzhufuyu.htm &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;其他祝福語&lt;br /&gt;http://www.haimay.com/download/jierizhufu/&lt;br /&gt;&lt;br /&gt;1. May you two always be in love! (祝您倆永浴愛河)&lt;br /&gt;2. I hope you will get well soon. (祝早日康復)&lt;br /&gt;3. Wish you all the happiness of the holiday season. (希望您假期充滿快樂)&lt;br /&gt;4. Happy birthday to a wonderful person! (祝一位很棒的人生日快樂)&lt;br /&gt;5. Good luck in all that you'll achieve in the future. (祝您未來一切順利)&lt;br /&gt;6. You are worthy of success. (你一定會成功的)&lt;br /&gt;7. May you be very happy in your new position. (祝你在新職位上勝任愉快)&lt;br /&gt;8. I hope you take good care of yourself. (希望你多保重)&lt;br /&gt;9. Good luck to you.(祝你好運)&lt;br /&gt;10.Please accept my season's greetings. (請接受我的時節祝福)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-2244246350603800886?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/JH-KnaeWYz8/blog-post_20.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/04/blog-post_20.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7910928237866819814</guid><pubDate>Mon, 20 Apr 2009 02:01:00 +0000</pubDate><atom:updated>2009-04-20T10:02:00.477+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">瀏覽工具</category><category domain="http://www.blogger.com/atom/ns#">軟體分享</category><title>法文翻譯軟體</title><description>http://dictionary.reference.com/translate/text.html&lt;br /&gt;&lt;br /&gt;http://www.worldlingo.com/zh_tw/microsoft/computer_translation.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7910928237866819814?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/KBZPCeBM7c0/blog-post.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/04/blog-post.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7469368307334145711</guid><pubDate>Mon, 20 Apr 2009 01:59:00 +0000</pubDate><atom:updated>2009-04-20T10:01:00.565+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">XP</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>讓Administrator管理者帳號現身</title><description>機碼路徑：HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft&lt;br /&gt;\WindowsNT\CurrentVersion\Winlogon\SpecialAccounts\UserList&lt;br /&gt;&lt;br /&gt;1.開啟「登錄編輯程式」，在左方窗格的「機碼路徑」下，&lt;br /&gt;   新增一個DWORD值「Administrator」&lt;br /&gt;2.修改該數值為「1」再按下確定，然後重新開機，&lt;br /&gt;   登入畫面就會顯示「Administrator」帳號了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7469368307334145711?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/w4h2g_zS1Ss/administrator.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/04/administrator.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-2979697450411327035</guid><pubDate>Mon, 13 Apr 2009 02:11:00 +0000</pubDate><atom:updated>2009-04-13T10:17:42.125+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><category domain="http://www.blogger.com/atom/ns#">VB.NET</category><title>在 VB.Net 中使用 StrConv 函數進行繁簡字體轉換</title><description>透過 StrConv 函式來進行繁體字及簡體字的相互轉換&lt;br /&gt;&lt;code class="code"&gt;Dim strData As String="繁體簡體轉換"&lt;br /&gt;'將繁體中文字轉換成簡體中文&lt;br /&gt;strData = StrConv(strData, VbStrConv.SimplifiedChinese, 2052)&lt;br /&gt;'簡體中文 (GB2312) 系統的 LocaleID (LCID) 為 2052&lt;br /&gt;MessageBox.Show (strData) '顯示簡體中文字&lt;br /&gt;&lt;br /&gt;'將簡體中文字轉換成繁體中文&lt;br /&gt;strData = StrConv(strData, VbStrConv.TraditionalChinese, 1028)&lt;br /&gt;'繁體中文 (Big5) 系統的 LocaleID (LCID) 為 1028&lt;br /&gt;MessageBox.Show (strData) '顯示繁體中文字&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-2979697450411327035?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/u0q7GZZttIM/vbnet-strconv.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/04/vbnet-strconv.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-3749968411350832180</guid><pubDate>Fri, 27 Mar 2009 07:53:00 +0000</pubDate><atom:updated>2009-03-27T15:54:52.073+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">程式</category><title>VBScript 程式語言參考</title><description>VBScript 程式語言參考&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ecaa.ntu.edu.tw/weifang/HtmlTutor/vbscript/C-VBSDOCs/vbstoc.htm"&gt;http://www.ecaa.ntu.edu.tw/weifang/HtmlTutor/vbscript/C-VBSDOCs/vbstoc.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;有興趣的人可以看看&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-3749968411350832180?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/g9aR4C2baQY/vbscript.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/03/vbscript.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7223235670954485678</guid><pubDate>Mon, 23 Mar 2009 04:43:00 +0000</pubDate><atom:updated>2009-03-23T12:54:51.121+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">系統</category><category domain="http://www.blogger.com/atom/ns#">Windows</category><title>移除Administrator密碼，輕鬆登入Windows</title><description>一旦碰到有密碼保護，無法登入Windows XP的狀況時該怎麼辦？別擔心！只要下載Offline NT Password Registry Editor，利用Offline NT Password Registry Editor的開機光碟開機，就可以將XP的Administrator帳號的密碼移除，讓你可以用最高管理員的權限登入電腦。不僅適用於XP，就連Vista也一樣適用。 》Offline NT Password Registry Editor下載網址： &lt;a href="http://share.legalne.info/563/cd080802.iso" target="_blank" rel="nofollow"&gt;http://share.legalne.info/563/cd080802.iso&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Step 1.將Offline NT Password Registry Editor的.iso檔燒成光碟後，使用光碟機開機成功後，選擇Windows所在的磁碟分割區，一般來說只要直接按下〔Enter〕選第一個分割區。接下來的步驟都直接按下〔Enter〕，選擇預設的選項執行即可。&lt;br /&gt;&lt;br /&gt;2.當載入Windows系統所在的磁碟分割區，會詢問你要進行什麼的動作。選擇第1項「Edit user data and passwords」，編輯使用者的帳號和密碼。按下鍵盤上的〔1〕，再按下〔Enter〕。&lt;br /&gt;&lt;br /&gt;3.進入選擇要更改密碼的帳號這個步驟後，可以看到目前所有的帳號，只要輸入帳號名稱，這裡以「Administrator」為例，按下〔Enter〕。&lt;br /&gt;&lt;br /&gt;4.接下來選擇第1項「Clear (blank) user password」，將已設定的密碼清空，按下鍵盤上的〔1〕，再按下〔Enter〕。當「Administrator」的帳號密碼被清除後，會顯示「Password cleared!」的訊息，按下〔!〕，再按下〔Enter〕回到上一層選單。&lt;br /&gt;&lt;br /&gt;5.回到Offline NT Password Registry Editor的選單後，若不想進行任何動作，想要離開系統，按下〔Q〕，再按下〔Enter〕即可離開。在離開之前，會詢問你是否要修改後的結果，寫入到Windows的設定檔。按下〔Y〕，再按下〔Enter〕，寫入修改結果。&lt;br /&gt;&lt;br /&gt;6.重新啟動Windows系統後，會發現原本「Administrator」帳號需要輸入密碼才能進入，因為密碼被清空後，開完機後就直接進入Windows。讓你以「Administrator」的權限，操作Windows系統。&lt;br /&gt;&lt;br /&gt;文章來源：PC uSER密技偷偷報 ( HTML 圖文版 ) &lt;&lt;a href="mailto:epaper@msx.epaper.com.tw" target="_blank" rel="nofollow"&gt;epaper@msx.epaper.com.tw&lt;/a&gt;&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7223235670954485678?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/amqzaPDVo40/administratorwindows.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><enclosure url="http://share.legalne.info/563/cd080802.iso" length="3702784" type="application/octet-stream" /><media:content url="http://share.legalne.info/563/cd080802.iso" fileSize="3702784" type="application/octet-stream" /><itunes:explicit>no</itunes:explicit><itunes:subtitle>一旦碰到有密碼保護，無法登入Windows XP的狀況時該怎麼辦？別擔心！只要下載Offline NT Password Registry Editor，利用Offline NT Password Registry Editor的開機光碟開機，就可以將XP的Administrator帳號的密碼移除，讓你可以用最高管理員的權限登入電腦。不僅適用於XP，就連Vista也一樣適用。 》Offline NT Password Registry Editor下載網址： http://share.legalne.in</itunes:subtitle><itunes:author>noreply@blogger.com (ROY LO)</itunes:author><itunes:summary>一旦碰到有密碼保護，無法登入Windows XP的狀況時該怎麼辦？別擔心！只要下載Offline NT Password Registry Editor，利用Offline NT Password Registry Editor的開機光碟開機，就可以將XP的Administrator帳號的密碼移除，讓你可以用最高管理員的權限登入電腦。不僅適用於XP，就連Vista也一樣適用。 》Offline NT Password Registry Editor下載網址： http://share.legalne.info/563/cd080802.iso Step 1.將Offline NT Password Registry Editor的.iso檔燒成光碟後，使用光碟機開機成功後，選擇Windows所在的磁碟分割區，一般來說只要直接按下〔Enter〕選第一個分割區。接下來的步驟都直接按下〔Enter〕，選擇預設的選項執行即可。 2.當載入Windows系統所在的磁碟分割區，會詢問你要進行什麼的動作。選擇第1項「Edit user data and passwords」，編輯使用者的帳號和密碼。按下鍵盤上的〔1〕，再按下〔Enter〕。 3.進入選擇要更改密碼的帳號這個步驟後，可以看到目前所有的帳號，只要輸入帳號名稱，這裡以「Administrator」為例，按下〔Enter〕。 4.接下來選擇第1項「Clear (blank) user password」，將已設定的密碼清空，按下鍵盤上的〔1〕，再按下〔Enter〕。當「Administrator」的帳號密碼被清除後，會顯示「Password cleared!」的訊息，按下〔!〕，再按下〔Enter〕回到上一層選單。 5.回到Offline NT Password Registry Editor的選單後，若不想進行任何動作，想要離開系統，按下〔Q〕，再按下〔Enter〕即可離開。在離開之前，會詢問你是否要修改後的結果，寫入到Windows的設定檔。按下〔Y〕，再按下〔Enter〕，寫入修改結果。 6.重新啟動Windows系統後，會發現原本「Administrator」帳號需要輸入密碼才能進入，因為密碼被清空後，開完機後就直接進入Windows。讓你以「Administrator」的權限，操作Windows系統。 文章來源：PC uSER密技偷偷報 ( HTML 圖文版 ) epaper@msx.epaper.com.tw</itunes:summary><itunes:keywords>系統, Windows</itunes:keywords><feedburner:origLink>http://roy2006tw.blogspot.com/2009/03/administratorwindows.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-5413322791601420362</guid><pubDate>Fri, 13 Mar 2009 01:42:00 +0000</pubDate><atom:updated>2009-03-13T09:45:06.805+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Google</category><title>用Google幫你查匯率</title><description>在 Google 搜尋器鍵入「1美金= ?台幣」這個關鍵字，就會自動幫你查詢目前最新美金跟台幣的兌換金額,  反過來打也可以, 中間的「?」符號，不管用全形，或半形都可以的.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-5413322791601420362?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/KEocJcqCOVE/google.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/03/google.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-37683246.post-7563644364883909331</guid><pubDate>Fri, 13 Mar 2009 01:36:00 +0000</pubDate><atom:updated>2009-03-27T15:55:49.366+08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">MSDOS</category><title>MS-Dos 指令集</title><description>現在應該很少用到 MS-DOS 的指令, 不過有興趣的人看看吧&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.computerhope.com/msdos.htm"&gt;http://www.computerhope.com/msdos.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/37683246-7563644364883909331?l=roy2006tw.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://feedproxy.google.com/~r/RoyMovingCastle/~3/3QDoNwGskMU/ms-dos.html</link><author>noreply@blogger.com (ROY LO)</author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://roy2006tw.blogspot.com/2009/03/ms-dos.html</feedburner:origLink></item><language>en-us</language><media:rating>nonadult</media:rating></channel></rss>
