新加坡之旅

Jurong鳥園

新加坡之旅

新加坡之旅

路人

新加坡之旅

新加坡之旅

地標-Merlion

新加坡之旅

新加坡之旅

市場一角

新加坡之旅

新加坡之旅

公車上的小朋友,回頭偷看我在「偷拍」

新加坡之旅

新加坡之旅

會親人的鯉魚

新加坡之旅

Archive for '程式設計' Category

使用C#讀取自然人憑證(MOICA)及數位簽章

六月 6th, 2009 by Blave Huang | 27

最近在開發電子公文系統的線上簽核功能,雖然學校幾年前就已經採購了一批32K RSA Smartcard,也已經可以做一些應用了;但若教職員忘了帶卡片,就沒辦法簽公文了。 因此想多一個「自然人憑證」做數位簽章的功能,讓使用者可以二選一。接著依自然人憑證網站上的申請方法,取得了MOICA API,壓縮檔中包含了DLL、文件、範例(C++),這些DLL都是Unmanaged,因此沒辦法直接讓C#來引用參考。 以下是我寫出來的一些功能,分享出來給大家參考,其中包含PIN碼驗證、取出卡片中的憑證、將訊息丟到卡片做數位簽章、驗證由自然人憑證所簽出來的Signature、驗證身分。由於這些API(DLL)是有版權的(內政部所有),因此不能放上來給大家抓,大家有需要API的話,請至自然人憑證網站申請,申請完畢後,幾天之後,內政部憑證管理中心就會mail給你一組帳號密碼,你就能上去Download了!Download下來後,把那些DLL和你的程式放在同一個目錄下,就可執行了(不必再安裝SafeSign軟體,因為API是用PKCS#11,而不是CSP)。

Read full post...

[C#]顯示未處理的例外錯誤

三月 11th, 2009 by Blave Huang | 0

程式難免會有Bug,在可預期下使用try catch,能將可能發生的錯誤解決掉,並通知使用者,如 開啟檔案失敗 磁碟空間不足 但難免還是會有未處理到的例外,因此可以這麼做:

Read full post...

[Oracle]清除Inactive Sessions

二月 18th, 2009 by Blave Huang | 0

太多的Inactive Sessions會吃掉Oracle資源 可依下列動作來清除Inactive Sessions: 1. 取得PID: select concat('kill -9 ',pro.spid) from v$session ses,v$process pro where  ses.paddr=pro.addr and  ses.program='JDBC Thin Client'; 會得到像這樣的列表: kill -9 12345 2. 再到系統執行上面的列表

Read full post...

[C#]讓Form在某個Form上變成TopMost

一月 20th, 2009 by Blave Huang | 2

MyForm myForm = new MyForm(); myForm.Owner = this; myForm.Show(); 這樣就能讓myForm停留在目前的Form上面,而且是最上層,兩個Form都能操作;而不是使用ShowDialog(),只能操作myForm。 這就像是在Office Word中按下 Ctrl + F,跳出的那個搜尋Form的結果一樣。

Read full post...

[C#]將圖片存到資料庫中,再取出

十二月 23rd, 2008 by Blave Huang | 0

// Author: Blave Huang MemoryStream ms = new MemoryStream(); Bitmap bmp = (Bitmap)this.pictureBox2.Image; bmp.Save(ms, ImageFormat.Png);  // 將圖片存到 MemoryStream ms.Position = 0;  // 移到最前面 string strEncoded = Convert.ToBase64String(ms.ToArray());  // 編成Base64 Console.WriteLine(strEncoded);  // strEncoded 的內容可以存到Database ms.Close(); MemoryStream ms2 = new MemoryStream(Convert.FromBase64String(strEncoded));  // 將資料庫中的編碼還原到MemoryStream Bitmap bmp2 = new Bitmap(ms2); this.pictureBox2.Image = bmp2;  // 載入圖片 ms2.Close();

Read full post...

[C#]幫你的UserControl穿上Icon

十二月 6th, 2008 by Blave Huang | 0

由自己撰寫的UserControl,在加入到Visual Studio的ToolBox後,通常都是用一個藍色的齒輪當圖示,這篇文章將分享如何幫你的UserControl掛上一個Icon小圖。

Read full post...

[C#]撰寫一個UserControl,能限制其大小

十二月 5th, 2008 by Blave Huang | 0

原本希望能在Form裡頭放一條分隔線,畫面才會好看: 但找了Visual Studio的ToolBox,都找不到這樣的一個控制項(Control),一開始只能用PictureBox來實現… 但用PictureBox卻不夠嚴謹,當橫線的Height要拉大的時候,整條線變得奇醜無比。因此上網找了一些方法,將實作過程分享給大家。

Read full post...

如何讓你的C#程式在Vista上以「系統管理者身分」執行

十二月 4th, 2008 by Blave Huang | 4

雖然使用者已經是用Administrator或Administrators群組登入並執行你開發的程式,但其實Vista還是會用一般使用者來執行這個程式,除非使用者在程式檔案上按右鍵/以系統管理者身分執行。 但如果你開發出來的程式卻要使用者在每次執行的時候都要如此麻煩,會造成使用者的不便。  

Read full post...

[Oracle]將一個Schema的全部內容複製到另一個Schema

九月 22nd, 2008 by Blave Huang | 0

1. 先登入到oracle主機 2. 將某個schema內容匯出: exp user/password FILE=abc.dmp (可加triggers=n代表不匯出trigger) 3. 將dump出來的檔案匯入某個schema: imp 目的username/password FILE=abc.dmp fromuser=舊username touser=目的username

Read full post...

檔案自動搬移器

八月 11th, 2008 by Blave Huang | 0

大家是否有過一個經驗,使用驢子騾子或變態(BT)下載…等軟體來抓一些「合法、正當」的軟體時,若一些檔案完成下載後,為了節省頻寬而將這些剛下載完的檔案搬到別的目錄下,為的就是不再讓別人來我們這下載。

Read full post...