2006年3月22日星期三

破解MS KB912945更新對ActiveX處理方法

早前已談過KB912945對Flash的制肘,受影響的不止flash, Quicktime,Real 等等亦是.

Microsoft官方網站亦有介紹 :Activating ActiveX Controls
Picture

覺得有問題的,不止我一人,瀏覽網頁上實在不便,有很多都說這是Microsoft的商業策略,
但連帶其他瀏覽器的穩定性受影響則非同小可, Maxthon用戶投訴更新KB912945後,CPU使用率長期於100%.雖然我只是用IE, 但對我也有影響啦~至少我製作中的網頁亦有Flash, 每次都要Active一次, Reload後又要Active一次....
上網找到有個很簡單的解決方法,就是使用JavaScript - Flash Object 再把SWF載入.

作者網頁: http://blog.deconcept.com/flashobject/

使用方法極之簡單:
1. 下載 Flashobject 1.3 http://blog.deconcept.com/flashobject/flashobject1-3.zip
解壓後,只需要flashobject.js

2. 把flashobject.js放在和你的swf,htm檔案同一個Directory. (js放置目錄可更改)

3. 於Head TAG之中加入

4. 於Body TAG中,刪你去原本Flash的<object>...至</object>, 在你的Flash所在地加入

var fo = new FlashObject("Flash檔案名稱.swf", "mymovie", "200", "100%", "7", "#336699");
fo.write("flashcontent");

5. 成功.

參數方面可自行參考作者網頁.

2006年3月18日星期六

Windows Vista Build 5308 CTP 感覺唔錯~

今天試了一試Windows Vista Build 5308 CTP版本,所謂CTP定義應該係Microsoft所指的Preview版本. 第一次見到這個名詞是"SQL Server Management Studio Express CTP" , 使用時感覺實在良好,用P4 2.8GC / 512MB DDR400 x 2 / Radeon 9250 / I865版去運行,一切都沒有什麼問題,但我感覺上要行得順P4 3G CPU + 2GB RAM係唔少得, 這個版本比我約5,6個月還叫Longhorn的版本更快更穩定. Windows Vista除了介面和功能上, 在開發方面引進WinFX的架構, WinFX中包含開發代號Avalon / Indigo / WinFS 三大範疇,其實最受開發人員注意的是Avalon,或者簡單來說,Avalon可以顛覆未來軟件介面,新的XAML言語更值得注意. 我覺得沖擊不比.NET Framework推出時低,我已經在Microsoft 下載了WinFX 和Avalon SDK試做一些簡單的軟件,亦有一些回應,日後會在Blog評論一下.
今年11月我一定好忙 , 至少Playstation 3 同Windows Vista都定於11月推出. 雖然遲了一個月,但有興趣大家可以睇睇一些Screen Shot.

Picture
SideBar出場,有分頁的,我覺得是沖著Mac OS上的Dock Bar而來,但我覺得我現在WinXP的ObjectDock便好用...個RSS Feed其實並不算好使好用...
Picture
剛安裝完Vista的時候,看一看Harddisk,竟然要用上6GB的安裝空間=_="
Picture
Win Vista內置的Wallpaper,不知是否還是測試版,Wallpaper的解析度很低,而且不算漂亮.
PicturePicturePicture
Outlook Express將會成為歷史,更名Windows Mail,但其實都是Outlook的核心,大家不用擔心.E-mail方面都沒有不同,Newsgroup方面已預先有Microsoft的newsgroup,而英文版的Vista看中文Newsgroup是沒有問題的,但回覆群組時就會出現亂碼,大家可以留意下字型上Vista更像Mac OS的中文字體.
Picture
Windows Vista 已整合一個簡單的Media Center
PicturePicture
輸入法方面,已內建HKSCS香港宇型,亦多了一個叫New Quick的輸入法,即是新速成,至於廣東輸入法就不能正確安裝了.
PicturePicture
Control Panel 亦多了很多東西,而查看.NET Framework的資料夾,已內建.NET Framework 1.1和2.0最新版本.

2006年3月15日星期三

VB.NET VS C#


VB.NET vs C# 的比較,沒完沒了~
剛本想上Google Search一下又有沒有VB 2005 VS C# 2.0 的議題時,卻找到Usenet 上一些舊有的討論.他們不是潑婦罵街,是理性討論的.細心閱讀後,便Bookmark下來.
如你還苦思選擇VB.NET 還是C#好,建議你看一看以下連結吧. 都幾有趣的~
Google Group:
Yet again another VB.NET vs C# debate
VB.NET vs C# (1) (2) (3) (4)
Programmer's Corner - C# vs. VB.Net
VB.NET vs C# Syntax 語法戰決 & 比較

2006年3月7日星期二

Windows KB912945 & ActiveX 控制項

岩岩做了一次Windows Update, 分別有 Windows Genuine Advantage 驗證工具 (KB892130) 和 (KB905474:Windows Genuine Advantage 通知) 更新,
更新後就會出現如之前一遍文章所講每次開機關機都會出Warning. 不過即日我已經經由0Day Warez 搵到破解..... 不過今次我反而覺得冇乜特別,始終M$都唔係第一次. . . 最令我注意反而係 KB912945:Windows XP 更新

KB912945 更新內容說明 :
在此更新中,Internet Explorer 對部分使用 Microsoft ActiveX 控制項之網頁的處理方式略有變更。 特定網頁將要求使用者按一下 ActiveX 控制項或使用 TAB 鍵和 ENTER 鍵,以手動方式啟動。 此更新包含所有已發佈之安全性更新。安裝此項目後,您必須重新啟動電腦。

如果就以說明上的文字,或者大家可能覺得沒什麼影響,始終就以Visual Basic 6時代說起,ActiveX在瀏覽器上的應用就已經被打擊下來,至少看到安裝ActiveX的對話盒,絕大多數都會按[否]去避開中毒危機, 上面的KB912945 ,相信你會和我一樣以為只是對一些情況, 如安裝Yahoo Game Java麻雀時出現不同的Wanring而已. 但問題來了,而且對Flash的Develper有莫大影響,大家看一看下圖:



這條類似ObjectDock的是我網頁中的navigation bar ,只是單純的用Flash MX 2004配一些簡單的Action Script做成,如果在以前是沒有什麼問題的.但現在更新KB912945 後,並在IE -[中安全性]情況下亦需要大家手動點擊一下,才啟用該條Flash.

即使在表單Post Back後,同樣需要同樣處理.其實Flash 理應只是IE中的Embed Object,就類似Embed Media player, Real ,Quicktime 一樣,已存在很多年, 不太明白M$搞什麼, 是否想玩下Adobe Macromedia....在IE預設值 - 中安全性有著這樣的[功能] , 相信對Flash Developer是一個打擊,因為在我測試當中,有部份Flash 不啟用是不播放的. 我自身那條ObjectDock已經是一個好例子,大家可試試 http://www.aspvista.net

2006年3月3日星期五

[ASP.NET 2.0] 進行Web Deployment後的Reference File在哪裡?

相信現在大部份人寫asp.net 2.0都是用Visual Web Developer Express版本(以下簡稱VWD),
無疑這個所謂簡化版本一點都不簡化,已足夠應付大多數新手老手的要求.

但近期小弟我遇到一個問題,相信同樣是每一個asp.net作者都會遇到.
前幾天,小弟我替現職公司把一個由VS.NET 2003寫的MSSQL Database升級至ASP.NET 2.0版本, 一如以往想進行Compile並加入Reference File,那*.vb檔就不用上傳至Server, 以保密Source Code,但問題來了,Compile後,我找遍VWD預設輸出資料夾 My Document中的VS2005資料夾,都找不到Bin中應有的Assembly DLL File, 那順理成章,Google It ~

原來VWD已改變Precompilation 和Web Deployment方面的做法.....

以前我們使用VS.NET時,在Release時,VS.NET會自動把我們整個Project中的Source Code轉至一個參考物件並放在Bin資料夾中,但到了VWD後,Precompilation並不會建立DLL,原因是.NET Framework 2.0所採用的Web Depolyment已不單把*.VB整合在一個Assembly集合檔案中,而是把*.aspx都整合在一個DLL,實行全面保護Source code,而怎麼做呢?

大家可以試試打開Framework 2.0資料夾 (C:WINDOWSMicrosoft.NETFrameworkv2.0.50727),你可以找到一個Command Line的工具 - aspnet_compiler.exe , 使用這個工具,你便可以把你整個Project中的aspx,ascx,vb或其他檔案統統整合至若干DLL中,使用方法是:
aspnet_compiler -v  -p

而Precompile後,發現所有*.vb,*.ascx等文件不見了, 而Output資料夾打開aspx文件,所有HTML會不見,只會出現一句Plain Text "This is a marker file generated by the precompilation tool, and should not be deleted!" .

若你不想使用Command Line的話,可以試試以下兩個Front-End程式,把aspnet_compiler GUI化.
West Wind ASP.NET 2.0 Compiler Utility
http://www.west-wind.com/tools/aspnetcompiler.asp

當然會有人和我一樣依舊喜歡VS.NET般做法,如果你是使用Visual Studio 2005而不是Express版本的話,你便會發現在Menu中的Deploy底下會多一項"Deploy Website"的項目,這個就正是VS.NET中的做法,把*.vb Compile至Assembly File.同樣地可以在Bin資料夾中找到, 相信這個就是VWD Express其中一項被簡化的項目.

或者你會問,VWD Express可以用到嗎? 其實是可以的,但我們需要使用一個Add-on :
Visual Studio 2005 Web Application Projects (Beta V2 Preview)
http://msdn.microsoft.com/asp.net/reference/infrastructure/wap/default.aspx

使用這個工具,我們可以在同樣地建立一個Assembly File.