2009年12月31日 星期四

C# 日曆(Calendar)日期多選

        protected void btnSelect_Click(object sender, EventArgs e)
{
int current_year = MyCalendar.VisibleDate.Year;
int current_month = MyCalendar.VisibleDate.Month;
DateTime BeginningDate = new DateTime(current_year, current_month, 10);
DateTime EndingDate = new DateTime(current_year, current_month, 20);

MyCalendar.SelectedDates.Clear();

// 選取一段日期範圍
MyCalendar.SelectedDates.SelectRange(BeginningDate, EndingDate);
CountSelection();
}
MyCalendar.SelectedDates.SelectRange(BeginningDate, EndingDate);

C# 動態套用CSS樣式表

<asp:DropDownList ID="ddlToRun" runat="server" AutoPostBack="True" onselectedindexchanged="ddlToRun_SelectedIndexChanged" />

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Computer MyComputer = new Computer();

// 取得實體目錄。
string strPhysicalDir = MyComputer.FileSystem.GetParentPath(Server.MapPath("/CH2"));

// 取得檔案列表。
FileInfo[] DemoWebForms =
MyComputer.FileSystem.GetDirectoryInfo(strPhysicalDir).GetFiles("*.css");


// 這是 LINQ
var CssFiles = from DemoWebFormFile in DemoWebForms select DemoWebFormFile.Name;

// 替下拉式清單方塊加入一個選項文字。
this.ddlToRun.Items.Add("選擇一個 CSS 樣式表");

// 將 .css 檔案名稱一一加入下拉式清單方塊中。
foreach (var x in CssFiles)
{
ddlToRun.Items.Add(x);
}
}
}

protected void ddlToRun_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlToRun.SelectedIndex > 0)
{
string choice = ddlToRun.SelectedItem.ToString();

if (Request.Browser.Browser.ToString() == "IE")
{
Response.Write("<link rel='stylesheet' type='text/css' href='" + choice + "'></link>");
}
}

2009年12月24日 星期四

home版xp安裝群組原則功能

home版的xp是沒有的只有專業版xp才有的

所以找到了一個方法
1、將XP專業版的「C:\WINDOWS\system32」文件夾中的gpedit.msc、fde.dll、gpedit.dll、gptext.dll、wsecedit.dll文件複製到HOME版的「C:\WINDOWS\system32」文件夾中。
2、在「開始--執行」中依次執行以下命令:「regsvr32 fde.dll」、「regsvr32 gpedit.dll」、「regsvr32 gptext.dll」、「regsvr32 wsecedit.dll」分別註冊這4個動態數據庫。
3、將XP專業版的「C:\WINDOWS\INF」文件夾中的所有*.adm文件複製替換到HOME版的「C:\WINDOWS\INF」文件夾中
這樣home的xp也就有群組原則的功能

C# My 載入文字檔的方法

using Microsoft.VisualBasic.Devices;
Microsoft.VisualBasic.Devices.Computer mycomputer = new Computer();
try
{
Literal2.Text = mycomputer.FileSystem.ReadAllText("D:\\WWW\\Allocation.txt");
}
catch (Exception ex)
{
Literal2.Text = ex.Message;
}

2009年12月23日 星期三

五種超難搞的使用者

或許範圍有所差別(僅限於企業內或者還包含企業外),或許電腦程度有所差別(最終使用者或者另一群IT人),IT人員應該都有面對使用者的經驗;當你面對某位或某些類型使用者的時候,是不是總有火冒三丈的衝動?先別急,ComputerWorld的文章《The 5 users you meet in hell (and one you'll find in heaven)》歸納出五種超難搞(以及一種理想夢幻)的使用者。

IT人應該最怕遇到「自認什麼都懂的使用者」,這種使用者可能只是知道一點點HTML、曾經重組過自己的硬碟--一次,但此後就自認是比你還懂得工程師,也經常不願遵守公司的政策或命令,有時還會經常跑去機房找你「討論」IT技術。為了凸顯自己的能力,自認什麼都懂的使用者最喜歡自己擅改電腦設定,或者自行下載、安裝公司不允許或不支援的軟體。這種半調子卻自認是工程師的使用者,常可能因為覺得自己很懂而勇於嘗試,但最後也往往會將事情搞的一團糟。不管這種使用者到底懂多少,如果違反公司政策或命令,就一定要處理,不然會招來更多同類使用者無視政策或命令;如同「破窗理論」,如果破窗剛出現時不處理,破窗就會被認為是允許的,屆時破窗一定會多的處理不完。

少年電腦狂」是「自認什麼都懂的使用者」兄弟,這兩種類型的使用者非常相似,差別是前者真的瞭解技術。因此比較容易溝通技術面的細節,而且也可以考慮發揮這類使用者的長處,讓他成為某個部門的電腦小老師(但還是要注意權限),或甚至納入IT部門。

相較之下,「什麼都不懂的使用者」是另一種極端,這種使用者會問你任意鍵是鍵盤上的那個按鍵。因為不懂,這種使用者比較不敢亂動電腦,但也因此經常詢問IT人或請IT人去幫他處理電腦問題。麻煩的是,這種使用者經常無法清楚描述問題,而且往往也聽不懂或看不懂你的回覆。面對這種使用者,IT人應該多點耐心,設身處地的站在對方的角度去看IT技術或產品,畢竟很多我們IT人習以為常的事物,對這類使用者都像是來自另一個星球,用對方能夠理解的語言去溝通,才能達到效果。

特權先生」應該是IT人很想避而遠之的使用者類型,尤其當週五下班之後,你已經一隻腳踏出辦公室了,就怕被特權先生召回。不過,處理特權先生的問題可能也是你表現自己、甚至封官晉爵的大好機會,因為特權先生或許就是你的主管;這種情況雖然只是辦公室階級文化的真實寫照,不過也別過頭而弄得自己像在逢迎拍馬。

有些使用者從不認為自己有任何責任,像這種「千錯萬錯都是你的錯的使用者」,總會把任何IT方面的問題--例如電腦的執行速度稍有變慢、沒收到電子郵件、或者自己忘了通行碼--當作他工作上的藉口,然後將責任推給IT部門。但是並不需要跟這種使用者槓上,只要依照公司政策、只要該作的都作了,只要無損IT部門的清譽,不需介入意氣之爭(介入反而可能正中下懷)。

不過話說回來,不只IT人不想遇到難搞的使用者,使用者也不想遇到難搞的IT人;身為IT人,你對自己的工作夠盡心、對技術夠熱情,你是使用者總會火冒三丈的IT人嗎?

轉自 [賴榮樞]的軟體資訊誌 http://www.goodman-lai.idv.tw/2008/04/blog-post.html

IT部門採用集權架構或分權架構的理由

IT部門究竟是該採用集權架構還是分權架構的爭議,似乎就像一部永遠也演不完的肥皂劇。其實集權架構或分權架構各有優缺點,而且也並非絕對的好(或不好),得視IT環境的情況而定。你和同事(或同學)大可以爭辯IT部門應該集權還是分權,但是在爭辯之前,更應該先瞭解兩者的優劣。TechRepublic有兩篇提及IT部門應該集權和分權五大理由的文章《Five reasons to centralize your IT department》、《Five reasons to decentralize your IT department》,或許就值得我們借鏡參考。

IT部門為什麼應該採取集權架構?理由之一是能避免資源重複,雖然分權架構可以加快部署、變更、解決問題,但如果未能做好橫向聯繫,往往也會導致資源分散,實作經驗也不易彼此共享。此外,可以提高安全性是集權架構的另一個理由,因為集權架構能讓IT人員更緊密的掌控數位資產,以獲得較高的安全性;相反的,分權架構就較難窺見所有資產的全貌,相對的安全性會成為挑戰。

集權架構也提供了整個企業的IT標準化運作機會,建立最佳實作,並能實作IT管理的準則。其中一種最普遍的標準化運作方式是利用ITIL,而為了要執行ITIL或其他標準化,整個過程必須有某些部分採取集權。除此之外,IT集權架構能擁有更專業的IT人才,因為若是將IT專才都集中在IT部門,等於是產生了雇用或訓練專業IT人才的機會,集權架構能負擔得起這種作法,因為這些資源能讓好幾個部門和業務單位共享。

避免資源重複以及IT標準化運算,意味著能降低成本,並且讓IT部門更有效率,而且集權架構幾乎也都是想要減少IT預算來節省成本的公司才做得到;相對來說,分權架構提供了快速反應的IT環境,能讓使用者或客戶感受到較強烈的IT協助,但這也意味著成本較高。

世事往往有一好就沒兩好:資源集中之後,反而會造成IT服務的瓶頸;想要降低成本,卻會增加IT服務的反應時間。難道分權架構就一定比較好嗎?不一定,但至少分權架構不會讓IT成為撙節預算的大目標,因為相關費用已經分攤到各單位,而且各個單位的IT人員與收益之間的關係也會更緊密,IT人員比較不會被犧牲掉。

分權架構能減少階層、減少內部鬥爭,因而能降低官僚氣息,讓力氣都用在正事。分權架構也能讓專案更快完成,例如若直接將架構師、工程師、開發者等IT人力放在業務單位,這些IT人力能直接與客戶面對面、直接得知客戶的需求或想法,對專案的完成很有幫助。同樣的,如果將IT人力直接放在業務單位,這些專才通常還可以獲得學習相關業務的機會,這也有助於IT與業務結合。

加快對使用者及客戶的回應,是採取分權架構最大的理由,因為要求不必上呈,IT人力可以就近處理而解決。因為業務單位的主管可以直接與IT專家共事而解決問題、變更專案、修改計畫、或進行採購,讓業務單位更為滿意IT的從旁就近協助。

分權架構和集權架構各有優劣,而且一方的優點往往會變成另一方的缺點,這種一體兩面的情況無法兩邊都討好。但無論是想採取集權架構還是分權架構,不妨都從這十項理由著手思考,先根據自己的企業環境、文化為前提,想想希望獲得什麼樣的結果、不能接受什麼樣的狀況,再從中取捨而找出最適合的作法。

轉自 [賴榮樞]的軟體資訊誌

如何面對裁員

公司裁員通常無預警,尤其是外商。多數人面臨「非自願性離職」,第一時間的情緒反應多是負面:震驚、難過、憤怒。專欄作家Ron Nutter在今年2月遭到解雇,震驚之餘,Nutter還是得面對明天。而在歷經了76天、85個工作機會、16次面談之後,Nutter找到了新工作,並且將自己遭逢裁員及求職的經驗,濃縮化成InfoWorld的文章《Twenty ways to survive a layoff》。

記下所記得的一切

首先,如果裁員已成事實,那麼從那一刻起,有太多事情需要處理,因此必須保持理智的頭腦,Nutter特別在文中提到,一定記下你所記得的一切。任何人遇到裁員的第一時間反應通常是震驚,然後陷入情緒的低潮。但唯有保持理智並以紙筆記下,才能清楚自己的權利與義務,例如薪資(付到何時)、遣散費、休假等。

而且這些事情的處理,可能不會在離開公司之前就結束,例如要留意後續的薪資是否入帳,健保續保的問題等。尤其,務必留意自己是否符合領取就業保險失業給付的條件,如果可以,也有許多手續流程要跑(相關資訊可參考勞委會勞工保險局網頁:http://www.bli.gov.tw/sub.asp?a=0005058)。

放開心並尋求家人支持

遭到解雇對多數人都相當負面,在離開舊工作、尋找新工作之前,Nutter認為不妨給自己幾天散心假。接著,找時間更新自己的工作履歷,不是制式文件的那種,而是記錄了自己完成過哪些專案工作。

新工作或許不是一時半刻就找到,失去工作就等於失去收入,因此Nutter在文中提醒必須做好節流,任何支出都必須謹慎,帳單更要詳細看過。如果還與其他家人同住,也應該讓他們知道狀況;家人的支持(甚至支援)此時便顯得重要不已,如果大家能共體時艱,甚至互相支援,會更容易走出失業的低潮。

除了線上的職業媒合網站,也別忘了其他的求職管道,例如把正在找工作的消息放上自己的部落格或即時通訊軟體,或者透過同事、甚至舊雇主、客戶詢問工作機會。面試新工作之前,也務必做足功課,例如瞭解新公司的規模、領域,甚至過去的記錄,而且不論上網搜尋,或者找找熟識的朋友詢問,都是很好的方法。

面試前應做足功課

此外Nutter在文中也建議,備妥個人履歷,更是面試新工作之前,非常重要的事情。千萬別因為一時的疏忽,才在面試時想不起自己參與過哪些專案或某個專案的細節。如果被發現準備不及--不論是忘了書面資料或面談時答不出來,都非常不利於面試成績。

在國內若請領就業保險失業給付,需回報求職記錄,但其實就算不需回報,如果能在找工作的時候,詳實記錄求職資料,對求職亦有助益。Nutter自己的經驗是以表格記錄每一項應徵工作的來源、日期、公司、職稱、內容、聯絡人及聯絡方式,並且記錄每一項工作的求職過程狀態,例如「寄出履歷」、「某日面試」、「已面試待通知」等,甚至也可以將前述的新公司資料記錄於此。

永不放棄

找工作也可以更為積極主動,有時候與其苦苦等候電話響,Nutter在文中建議不妨更為積極的撥給員工招募負責人。更重要的是必須記住「永不放棄」,找工作、申請就業保險失業給付等或許沒有想像中的順利,家人不見得能諒解你遭解雇,你更可能不甘心非自願性離職,但遇到不順心可以暫停一下、調適心情,不過無論如何,Nutter鼓勵失業者都應該抱著永不放棄的精神,期待更好的明天。

轉自 [賴榮樞]的軟體資訊誌 http://www.goodman-lai.idv.tw/2008/10/blog-post.html

五件應該告訴老闆及五件別跟老闆說的事情

身為IT專業人員,除了技術專業之外,深知辦公室文化對工作將更有幫助,尤其應該要能分辨老闆想要知道什麼事情。Computerworld有兩篇文章:《Five things you should always tell your boss》和《Five things you should never tell your boss》,分別提供了哪些事情應該要向老闆報告、哪些事情不用讓老闆知道的原則。這兩篇文章的內容,是與獲得Computerworld 2008 Premier 100 IT Leaders的IT主管訪談而來(也就是說,這十件事都是老闆的觀點)。

以下五件是應該告訴老闆的事情。

1.實情。任何主管都不喜歡美化問題、隱瞞事實、光說不練的員工,主管需要全盤的訊息,尤其不喜歡自己最後才知道真相。而且應該不加主觀評論的向老闆回報實情。

2.構想。縱使你的構想無關IT,但只要能改善業務、解決問題的建議,都是主管樂於聽到了。

3.需求。誠實的將工作上的需求告訴老闆。好的老闆會讓員工願意辛勤工作,原因往往在於老闆能讓員工樂在工作,而這有助於提高員工的工作士氣和生產力,並且留住員工。

4.。向老闆說「不」的確需要勇氣。在你說不的同時,最好還能提供各種替代建議給老闆,並且讓老闆知道各種建議的優缺點。

5.好消息。沒有人只想每天聽到專案出狀況、伺服器當機又不確定何時能恢復之類的壞消息,因此也別忘了向老闆報告好消息。

此外,以下五件事情就別跟老闆說囉。

1.所有與技術相關但與業務無關的事情。對IT主管來說,感興趣的是能協助組織業務推展並且讓企業員工事半功倍的IT技術。尤其,你務必在瞭解業務需求的情況下,再提出技術面的建議;別再不瞭解業務需求的情況下,就提出你的技術建議、甚至解決方案。

2.只有一種解決方案。IT人員有時候會有若干技術偏好,這無可厚非,但如果所有的狀況都只搬得出同一套解決方案,就不免遭人質疑你的技術廣度不夠。

3.其他同事的負面評價。最不該的尤其是所有的人都忙著要趕上落後的專案進度,但你卻在此時跟老闆說一些對工作無益的話,更容易讓老闆反感。這類的事情不是不能跟老闆說,但是物必要拿捏時機,最好是在老闆主動問你的時候再說。

4.不可能。或許真的不可能,但是在告訴老闆不可能之前,務必將你所面臨的挑戰告訴老闆,然後和老闆討論「如何克服這些挑戰」。如果能放棄心中的成見,就可能會對自己所能完成的深感訝異。因此,先別說不可能,而是先具體找出問題與挑戰,如果自己無法解決,試著讓你的老闆知道難題所在,而不是告訴老闆「不可能」。

5.意外驚喜。IT主管大多不喜歡驚喜,特別是煞風景或不愉快的意外。而且,最好別讓小問題變成大災難才讓老闆知道。

IT主管通常不會事事都想知道,但有些事情他又非得知道不可,因此你得「說該說的,不該說的就別說」。不過這並非簡單的事,除了需要敏銳的觀察力,也需要經驗,尤其你必須諳練自己所在的辦公室文化,才能做出恰當的判斷。

轉自 [賴榮樞]的軟體資訊誌 http://www.goodman-lai.idv.tw/2008/09/blog-post.html

IT管理的七原罪

天主教將人類的重大惡行分成7種:色慾(lust)、貪食(gluttony)、貪婪(avarice)懶惰(sloth)、暴怒(wrath)、妒忌(envy)、傲慢(pride);美國導演大衛芬奇也曾以7原罪作為題材拍過電影。但IT人可得留意,別在IT管理工作犯了InfoWorld《The 7 deadly sins of IT management》提及的7原罪。

渴望新技術的慾求(Lust for new technology)。需要最新版的硬體、軟體嗎?不見得,但許多IT人往往陷入新技術的迷思與追求,但卻忘了夠用即可的哲學。我們當然需要軟硬體設備來解決企業裡的各種營運所需,也不是說老舊的設備不能更新,但必須客觀的衡量新技術對自身企業營運究竟有多大的實用與價值。尤其規模越大的企業,IT環境往往越複雜,在牽一髮即動全身的情況下,縱使只是更新其中一個環節的軟體或硬體,可能還是會影響整個企業營運;就算升級成功,也要估算整個升級的成本划不划算。

將資訊據為己有(Information gluttony)。許多IT人會以為只要緊握某些重要資訊,就能保住自己的飯碗,但實際並不然,甚至可能正好相反。如果全公司只有某個人知道整個網路架構的核心細節,這豈不是讓公司的IT環境陷嚴重的失衡!此外,還有些IT主管會不斷的攬專案(或者不會拒絕),讓IT部門總得將每個專案視為緊急,卻無法分出人力處理真正緊急的專案。

人心不足的貪婪導致專案失敗(Avarice as an action item)。IT專案失敗的原因,通常是因為傲慢與貪婪的致命結合,再加上:開出不切實際的需求企畫書的傲慢客戶、明知不可行的系統整合商(SI)和顧問、夾在中間的技術提供者。系統整合商到底該直接告訴客戶專案注定會失敗而放棄白花花的銀子不賺,還是硬著頭皮繼續做,做到超出原本預計的工時和預算?因此,要避免專案超時、超支,合約必須規範成功的誘因,例如明訂提早完工的獎勵,以及超時、超支的罰則。

怠惰的工作心態(Slothful approaches to IT)。多數屬於事務性的工作做久之後,容易流於反射動作,許多工作做久之後,也會因疲乏而缺少更積極的作為,甚至抱了多一事不如少一事的心態,懶得作為;有些IT工作也會如此。這種工作心態沒有先考慮「做對的事」,只想要「把事情做對」,甚至敷衍的只想「把事情做完」。不只是IT工作,積極主動的態度比能力更重要,而且應該比你的老闆更主動、比你的競爭者更積極;主動的態度不只能精進工作能力,也會讓你有用心盡力的工作表現。

妒忌導致內鬥(In-house envy)。常常酸言酸語的見不得別人好嗎?這明顯犯了妒忌;會義憤填膺的指責別人嗎?這也可能是出於妒忌。有些妒忌很明顯,有些則會披著義憤填膺的外衣而狀似正義。如何分辨假正義、真嫉妒?就將他曾大肆批評的好處給他,如果他接受並沈溺其中,就是假正義了。妒忌別人就不會珍惜自己所擁有的及該做的,一旦妒忌之火越燃越大,不只自己的正事不做,還是妨礙別人做正事,到頭來公司無異養了一群只會咬破布袋的老鼠。

發飆不能解決問題(Wrath management)。暴怒只會凝結氣氛、讓對方下不了台,接著不是引起兩造對立,就是讓對方悶在心裡。主管公開發飆更不妥,拍桌罵人只能發洩情緒,並且促使大家絞盡腦汁想出自保、推諉的對策。

傲慢(Pride creep)。不論是傲慢、驕傲、還是自大,都會蒙蔽IT人的心智,甚至毀掉一個人或一家公司。以為自己知道或做得到,卻因為傲慢自大的錯估形勢,而導致全盤皆墨;甚至還放不下身段,不願承認錯誤。「滿招損、謙受益」,IT人必須吞下驕傲,專案成功並非一人可為,也不會只是單一部門的功勞;專案失敗亦然。

轉自 [賴榮樞]的軟體資訊誌 http://www.goodman-lai.idv.tw/2009/01/it.html

C#如何無條件進位和無條件捨去?

無條件進位=>Math.Ceiling(1.2) ==>2.0
無條件捨去=>Math.Floor(1.2) ==> 1.0

2009年12月22日 星期二

之前可以正常播放,但更新微軟修正程式後無法撥放時,要如何處理?

確認IE瀏覽器的版本
(1)從瀏覽器上方的工具列做確認:說明→關於Interner Explorer
(2)若你的瀏覽器是以下版本是:8.0 6001.18828

請手動以下步驟做修改。
(1)從瀏覽器上方的工具列:工具→網際網路選項
(2)請取消勾選「啟用受保護程式(需要重新啟動nterner Explorer)」,並勾選「確定」

若想下載最新「影音播放器(Windows Media Player)」版本或「新版 Internet Explorer 瀏覽器」時,該怎麼解決?

可至 微軟官網,下載安裝:
- 下載 Windows Media Player 11 for Windows XP
- 下載 Windows Media Player 10 for Windows XP
- 下載 Windows Media Player 11 for Windows XP

Internet Explorer 7: 官方下載 直接下載
Internet Explorer 8: 官方下載

Firefox 網路瀏覽器 2.0.0.7 官方 直接下載

Opera 網路瀏覽器 9.23 官方 直接下載

若想使用「火狐(Firefox)」瀏灠器播放影音媒體時,該怎麼解決?(目前僅適用 Windows 作業平台)

請至 Firefox Add-ons官網,下載並安裝 IE Tab Plug-in 軟體
- 下載 IE Tab 1.5.20080618 (適用版本:Firefox: 3.0 – 3.0.*)
- 下載 IE Tab 1.3.3.20070528 (適用版本:Firefox: 1.5 – 2.0.0.*)

安裝完成後,請於網頁內按下「滑鼠右鍵」>>「用 IE Tab 檢視本頁」,再次重新播放媒體即可:【顯示圖示】

當出現「由於不支援指定的通訊協定,Windows Media Player無法播放檔案。若您是在「開啟URL」對話方塊中輸入URL,請嘗試使用其他傳輸通訊協定 (例如: "http:" 或 "rtsp:")。」錯誤訊息,該怎麼解決?

若發生"由於不支援指定的通訊協定,Windows Media Player無法播放檔案。",通常代表您系統 "有安裝其它影音播放軟體"(如:K-Lite Codec Pack),而該播放軟體會自動修改Windows Media Player內預設的設定值,造成 mms stream 無法正常播放,請依照下列步驟將設定回復後,即可正常播放。【顯示圖示】

- 請您開啟影音播放器( [開始] > [程式集] > [附屬應用程式] > [娛樂] > [Windows Media Player] )後,按下功能表上的「工具」>>「選項」>>「網路」內 [串流處理通訊協定] 區域,請將「多點傳送(M)」/「UDP(U)」/「TCP(T)」/「HTTP(H)」等選項勾選,並按下對話盒下方「確定」鍵後(讓設定變更生效),再次重新播放媒體即可。

WindowsMediaPlayer 數位版權管理(DRM)個別化元件,因而導致無法正常收看

若發生"「影音安全性」版本需求不符",可能是您系統內 WindowsMediaPlayer 需要更新數位版權管理(DRM)個別化元件,因而導致無法正常收看,請依照下列步驟安裝後,即可正常播放。

- 系統將自動帶出 「Microsoft 安全性元件升級網站」,按下「Upgrade」鍵後進行安全性元件升級。
- 系統將自動帶出升級對話盒,請按下「升級」鍵後,自動下載升級安全性元件。
- 安全性元件升級網頁顯示「升級完成」,請關閉該頁,重啟電腦並成功取得授權後,即可正常播放。

當出現「用戶端屬性元件」失效訊息(錯誤代碼:-2146823281;'null'是null或不是一個物件),該怎麼解決?

若發生"錯誤代碼:-2146823281;'null'是null或不是一個物件",可能是您系統內 "未安裝" 或 "已停用" 該授權所需的DRM元件,請依照下列步驟安裝後,即可正常播放。

原因(一): 未安裝DRM元件 (※ 網址下方 "看的到" 提示安裝 ActiveX 控制項訊息)
- 於瀏灠器網址下方: 點選「來自 'Microsoft Corporation' 的 'DRM ActiveX Network Object'」連結並按下滑鼠右鍵。
- 請選擇「執行 ActiveX 控制項(C)」項目。
- 系統將自動帶出 " 您是否要執行此 ActiveX 控制項?" 對話盒,按下「執行(R)」鍵並成功取得授權後,即可正常播放。

原因(二): 已停用DRM元件 (※ 網址下方 "看不到" 提示安裝 ActiveX 控制項訊息)
- 請按下瀏灠器功能表上 [工具] > [管理附加元件] > [啟用或停用附加元件] (※ IE7 額外多出的選項)。
- 系統帶出 "管理附加元件" 對話盒,於「顯示」區域內選擇 "Internet Explorer使用過的附加元件" 選項。
- 請挑選名稱為 "RMGetLicense Class" 附加元件,於「設定」區域選擇 "啟用" 選項並按下「確定」鍵。
- 重新成功取得授權後,即可正常播放。。

當出現「用戶端屬性元件」失效訊息(錯誤代碼:-2147024809;參數錯誤),該怎麼解決?

若發生"錯誤代碼:-2147024809;參數錯誤",可能是您系統內安裝的授權DRM元件已損毀失效,請依照下列步驟修復後,即可正常播放。

工具一 - (微軟官方網站版)

元件修復流程: (※ 執行工具前,請先關閉所有 "網路瀏灠器" 及 "影音播放器-Media Player")

- 下載 「元件修復工具」後,按下「執行」鍵。
- 執行「元件修復工具」(DRM reset utility)並按「下一步(Next)」鍵。
- 系統正在安裝「元件修復工具」,安裝完成後,工具會自動重置用戶端DRM設定。
- 系統重置完成用戶端DRM設定,按下「完成(Finish)」鍵。

當收視過程中,遇到「有聲無影」狀況時,該怎麼解決?

若發生"有聲無影"狀況時,可能是您系統 Windows Media Player 影音播放器接收串流內容時,傳達不正確的連線速度資訊給串流伺服器,這時串流伺服器會嘗試「精簡」串流,由於串流品質降低,因而造成影音播放器遺失所有視訊內容。發生原因可能為以下情形所造成,請依照下列步驟調整設定後,應可正常播放。

手動指定連線速度
- 請您開啟影音播放器( [開始] > [程式集] > [附屬應用程式] > [娛樂] > [Windows Media Player] )後,按下功能表上的「工具」>>「選項」>>「效能」內 [連線速度] 區域,先選擇「選擇連線速度(C)」選項,然後再選取適當的連線速度。

安裝所需視訊轉碼器(Codec)
- 請您開啟影音播放器( [開始] > [程式集] > [附屬應用程式] > [娛樂] > [Windows Media Player] )後,按下功能表上的「工具」>>「選項」>>「播放程式」內 [自動更新 區域,選取「自動下載轉碼器(C)」核取方塊。


手動指定視訊加速設定
- 請您開啟影音播放器( [開始] > [程式集] > [附屬應用程式] > [娛樂] > [Windows Media Player] )後,按下功能表上的「工具」>>「選項」>>「效能」>>「進階」。

- 在 [視訊加速設定] 對話盒中,請您勾選位於 [視訊加速] 區域內使用「重疊」選項,並按下對話盒下方「確定」鍵後(讓設定變更生效),再次重新播放媒體即可。

當收視過程中,播放程式為什麼會出現「緩衝處理中」或「暫停」情形呢?

在某些網路環境下,防火牆會攔截播放串流內容所需的 Universal Datagram Protocol (UDP) 資料傳輸。在此情況下,系統會強制將 Windows Media Player 改用 HTTP/TCP 通訊協定,在通訊協定切換的過程中,會造成網路暫時性的擁塞,用戶端則會顯示「緩衝處理中」或「暫停」情形。

另一種可能原因是: "用戶端本身網路環境擁塞",造成用戶端顯示「緩衝處理中」或「暫停」情形。

如何得知目前使用的影音播放器(Windows Media Player)屬於哪個版本?

當您開啟影音播放器( [開始] > [程式集] > [附屬應用程式] > [娛樂] > [Windows Media Player] )後,按下功能表上的「說明(H)」>>「關於Windows Media Player(A)」,即可得知您目前使用何種影音播放器版本。

當使用 IE 瀏灠器,跳出新視窗被「快顯程式封鎖」時,該怎麼解決?

若發生 "快顯視窗" 遭IE瀏灠器封鎖時,則您可能安裝了下列防跳視窗軟體(如: WindowsXP Service Pack 2、MSN、Yahoo、Google工具列等),請依照下列步驟設定來允許新視窗,即可正常顯示。

Internet Explorer 瀏覽器設定: (請參考微軟網站說明)
- 方法(一):
(1)於瀏灠器「網址(D)」下方: 點選「快顯已封鎖」連結並按下滑鼠右鍵。
(2)請選擇「永遠允許來自這個網站的快顯」項目。
(3)系統將自動帶出 " 是否允許來自這個網站的快顯視窗?" 對話盒,按下「是(Y)」鍵允許來自 '*.該網站網址' 的快顯。

- 方法(二): 於瀏灠器內 [工具] > [快顯封鎖程式] > [快顯封鎖程式設定值] > 允許快顯的網站位址。
(1)MSN 工具列設定: MSN 工具列中的「選項」,取消「封鎖快顯視窗功能」。(請參考相關說明)
(2)Yahoo 工具列設定: Yahoo 工具列中的「選項」,取消「啟動阻擋跳窗功能」。(請參考 Yahoo 網站說明)
(3)Google 工具列設定: Google 工具列中的「選項」,取消「彈出視窗攔截器」功能。(請參考 Google 網站說明)

2009年12月16日 星期三

網頁上的播放器相關參數說明

網頁上的播放器相關參數說明
(默認0為否,-1或1為是)

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="286" height="225">
<param name="AudioStream" value="-1">
<param name="AutoSize" value="-1">
<!--是否自動調整播放大小-->
<param name="AutoStart" value="-1">
<!--是否自動播放-->
<param name="AnimationAtStart" value="-1">
<param name="AllowScan" value="-1">
<param name="AllowChangeDisplaySize" value="-1">
<param name="AutoRewind" value="0">
<param name="Balance" value="0">
<!--左右聲道平衡,最左-9640,最右9640-->
<param name="BaseURL" value>
<param name="BufferingTime" value="15">
<!--緩衝時間-->
<param name="CaptioningID" value>
<param name="ClickToPlay" value="-1">
<param name="CursorType" value="0">
<param name="CurrentPosition" value="0">
<!--當前播放進度 -1 表示不變,0表示開頭 單位是秒,比如10表示從第10秒處開始播放,值必須是-1.0或大於等於0-->
<param name="CurrentMarker" value="0">
<param name="DefaultFrame" value>
<param name="DisplayBackColor" value="0">
<param name="DisplayForeColor" value="16777215">
<param name="DisplayMode" value="0">
<param name="DisplaySize" value="0">
<!--視頻1-50%, 0-100%, 2-200%,3-全屏 其它的值作0處理,小數則採用四捨五入然後按前的處理-->
<param name="Enabled" value="-1">
<param name="EnableContextMenu" value="-1">
<!-是否用右鍵彈出菜單控制-->
<param name="EnablePositionControls" value="-1">
<param name="EnableFullScreenControls" value="-1">
<param name="EnableTracker" value="-1">
<!--是否允許拉動播放進度條到任意地方播放-->
<param name="Filename" value="http://01.wma" valuetype="ref">
<!--播放的文件地址-->
<param name="InvokeURLs" value="-1">
<param name="Language" value="-1">
<param name="Mute" value="0">
<!--是否靜音-->
<param name="PlayCount" value="10">
<!--重複播放次數,0為始終重複-->
<param name="PreviewMode" value="-1">
<param name="Rate" value="1">
<!--播放速率控制,1為正常,允許小數-->
<param name="SAMIStyle" value>
<!--SAMI樣式-->
<param name="SAMILang" value>
<!--SAMI語言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
<param name="SelectionStart" value="-1">
<param name="SelectionEnd" value="-1">
<param name="SendOpenStateChangeEvents" value="-1">
<param name="SendWarningEvents" value="-1">
<param name="SendErrorEvents" value="-1">
<param name="SendKeyboardEvents" value="0">
<param name="SendMouseClickEvents" value="0">
<param name="SendMouseMoveEvents" value="0">
<param name="SendPlayStateChangeEvents" value="-1">
<param name="ShowCaptioning" value="0">
<!--是否顯示字幕,為一塊黑色,下面會有一大塊黑色,一般不顯示-->
<param name="ShowControls" value="-1">
<!--是否顯示控制,比如播放,停止,暫停-->
<param name="ShowAudioControls" value="-1">
<!--是否顯示音量控制-->
<param name="ShowDisplay" value="0">
<!--顯示節目信息,比如版權等-->
<param name="ShowGotoBar" value="0">
<!--是否啟用上下文菜單-->
<param name="ShowPositionControls" value="-1">
<!--是否顯示往前往後及列表,如果顯示一般也都是灰色不可控制-->
<param name="ShowStatusBar" value="-1">
<!--當前播放信息,顯示是否正在播放,及總播放時間和當前播放到的時間-->
<param name="ShowTracker" value="-1">
<!--是否顯示當前播放跟蹤條,即當前的播放進度條-->
<param name="TransparentAtStart" value="-1">
<param name="VideoBorderWidth" value="0">
<!--顯示部的寬部,如果小於視頻寬,則最小為視頻寬,或者加大到指定值,並自動加大高度.此改變只改變四周的黑框大小,不改變視頻大小-->
<param name="VideoBorderColor" value="0">
<!--顯示黑色框的顏色, 為RGB值,比如ffff00為黃色-->
<param name="VideoBorder3D" value="0">
<param name="Volume" value="0">
<!--音量大小,負值表示是當前音量的減值,值自動會取絕對值,最大為0,最小為-9640-->
<param name="WindowlessVideo" value="0">
<!--如果是0可以允許全屏,否則只能在窗口中查看-->
</object>

上面的這個播放器是老式的那種,新式播放器是在MediaPlayer9.0以後出現的,也就是說只有裝了9.0或9.0以上的播放器才能正常使用的.
--------------------------------------------------------------------------------

下面是新式播放器代碼,相對以前的來說要簡單很多:
<object id="player" height="64" width="260" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param NAME="AutoStart" VALUE="-1">
<!--是否自動播放-->
<param NAME="Balance" VALUE="0">
<!--調整左右聲道平衡,同上面舊播放器代碼-->
<param name="enabled" value="-1">
<!--播放器是否可人為控制-->
<param NAME="EnableContextMenu" VALUE="-1">
<!--是否啟用上下文菜單-->
<param NAME="url" VALUE="http://1.wma">
<!--播放的文件地址-->
<param NAME="PlayCount" VALUE="1">
<!--播放次數控制,為整數-->
<param name="rate" value="1">
<!--播放速率控制,1為正常,允許小數,1.0-2.0-->
<param name="currentPosition" value="0">
<!--控件設置:當前位置-->
<param name="currentMarker" value="0">
<!--控件設置:當前標記-->
<param name="defaultFrame" value="">
<!--顯示默認框架-->
<param name="invokeURLs" value="0">
<!--腳本命令設置:是否調用URL-->
<param name="baseURL" value="">
<!--腳本命令設置:被調用的URL-->
<param name="stretchToFit" value="0">
<!--是否按比例伸展-->
<param name="volume" value="50">
<!--默認聲音大小0%-100%,50則為50%-->
<param name="mute" value="0">
<!--是否靜音-->
<param name="uiMode" value="mini">
<!--播放器顯示模式:Full顯示全部;mini最簡化;None不顯示播放控制,只顯示視頻窗口;invisible全部不顯示-->
<param name="windowlessVideo" value="0">
<!--如果是0可以允許全屏,否則只能在窗口中查看-->
<param name="fullScreen" value="0">
<!--開始播放是否自動全屏-->
<param name="enableErrorDialogs" value="-1">
<!--是否啟用錯誤提示報告-->
<param name="SAMIStyle" value>
<!--SAMI樣式-->
<param name="SAMILang" value>
<!--SAMI語言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
</object>