Time of Update: 2018-12-07
結合著上一篇,再寫一個擷取進程詳細資料的代碼建立一個listBox將進程名稱遍曆進去this.listBox1.Items.Clear(); Process[] MyProcesses=Process.GetProcesses(); foreach(Process MyProcess in MyProcesses) { this.listBox1.Items.Add(MyProcess.Process
Time of Update: 2018-12-07
我們運行.net的發布工具installutil.exe來添加到windows服務裡面(該工具預設在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727目錄下)把下面代碼 儲存到txt檔案,並且另存新檔bat檔案,並且和你的exe檔案放在一起,那麼雙擊就可以直接安裝服務了.@echo 安裝WindowService@Set Path=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;@Set svn_dir=%cd%
Time of Update: 2018-12-07
.net1.1using System.Web.Mail;使用:SendSMTPEMail("100.100.100.100", "someone@xxx.com", "xxxx", "someone@xxx.com", "webtest", TextBox1.Text, null, null);方法體:public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto,
Time of Update: 2018-12-07
物件導向的語言諸如JAVA提供了Interface來實現介面,但C++卻沒有這樣一個東西,儘管C++ 通過純虛基類實現介面,譬如COM的C++實現就是通過純虛基類實現的(當然MFC的COM實現用了嵌套類),但我們更願意看到一個諸如 Interface的東西。下面就介紹一種解決辦法。首先我們需要一些宏://// Interfaces.h//#define Interface class#define DeclareInterface(name) Interface name { \
Time of Update: 2018-12-07
在用C++寫要匯出類的庫時,我們經常只想暴露介面,而隱藏類的實現細節。也就是說我們提供的標頭檔裡只提供要暴露的公用成員函數的聲明,類的其他所有資訊都不會在這個標頭檔裡面顯示出來。這個時候就要用到介面與實現分離的技術。 下面用一個最簡單的例子來說明。 類ClxExp是我們要匯出的類,其中有一個私人成員變數是ClxTest類的對象,各個檔案內容如下: lxTest.h檔案內容:class ClxTest {public: ClxTest(); virtual ~Cl
Time of Update: 2018-12-07
C# 2.0 可能討論比較多的是泛型, 其次可能就是迭代器,匿名方法了. 這兩個特性其實有些本質上的不同, 泛型, 是相對1.1微軟在 IL 上面又添加了一些指令來實現. 而迭代器則是在編譯器這個層次去實現的,也就是說C# 2.0 中的迭代器的特性並沒有靠引入IL來實現. 什麼是迭代器呢,我拿一個例子來說明. 比如我們一下一段代碼list 一個特定目錄下面的所有檔案, 代碼可能會這麼寫.
Time of Update: 2018-12-07
上面的那個玩意是我做的一個flash,這並不稀奇,但是實際上我並不懂flash編程,這個有趣的東西是我用C#做出來的.我藉助了一個叫做NeoSwiff的東西做出了這個flash,它是可以嵌入到VS2003和2005中的一套開發模版,使用它,你可以輕鬆的製作出像C#
Time of Update: 2018-12-07
因項目所需,採用WORD模板作為報表系統的一部分,需要使用C#操作WORD文檔,大部分的操作都是填充表格,難度也不是很大。但是有一份報表很特殊,WORD裡面需要包含ComboBox、CheckBox控制項,如下所示:這裡關鍵的技術難題是找到OLE控制項,然後設定其某個屬性值,GOOGLE了半天,終於找到如下的代碼:private static object FindControl(string name, Word._Document document) {
Time of Update: 2018-12-07
網頁自動登入(提交Post內容)的用途很多,如驗證身份、程式升級、網路投票等,以下是用C#實現的方法。 網頁自動登入和提交POST資訊的核心就是分析網頁的原始碼(HTML),在C#中,可以用來提取網頁HTML的組件比較多,常用的用WebBrowser、WebClient、HttpWebRequest這三個。以下就分別用這三種方法來實現: 1、WebBrowser是個"迷你"瀏覽器,其特點是Post時不用關心Cookie、內建JS等問題
Time of Update: 2018-12-07
在VS6.0年代,微軟提供了VFW(Video For Window) 這樣強大而方便的庫來可使用視訊捕獲和回放。但是無論是在。NET v1.0還是在.NET v2.0架構中,都沒有提供相應的類庫來可使用視訊捕獲和回放。解決這個問題有很多種方法,比如利用平台叫用P/Invoke對VFW中的功能函數進行封 裝,然後再C#中進行調用。這樣效率很低並且太複雜。還可以利用第三方提供的ActiveX控制項來實現這個功能,這有什麼好處呢?簡單!!!!這也就足夠
Time of Update: 2018-12-07
在多線程中,為了使資料保持一致性必須要對資料或是訪問資料的函數加鎖,在資料庫中這是很常見的,但是在程式中由於大部分都是單線程的程式,所以沒有加鎖的必要,但是在多線程中,為了保持資料的同步,一定要加鎖,好在Framework中已經為我們提供了三個加鎖的機制,分別是Monitor類、Lock關鍵字和Mutex類。 其中Lock關鍵詞用法比較簡單,Monitor類和Lock的用法差不多。這兩個都是鎖定資料或是鎖定被調用的函數。而Mutex則多用於鎖定多線程間的同步調用。簡單的說,
Time of Update: 2018-12-07
using System; using System.IO; using System.Text; using System.Collections; namespace PDFGenerator { public class PDFGenerator { static float pageWidth = 594.0f; static float pageDepth = 828.0
Time of Update: 2018-12-07
通過應用程式讀取網頁資訊的時候,通常需要抓取網頁的資料,但是有一個問題就是很多網頁需要登入後才能夠獲得頁面資料,那麼就需要儲存當前的cookie,在.NET中可以使用CookieContainer 對象來儲存登入後的Cookie資訊,每次發送資料的時候加上Cookie資訊,就可以解決這個問題了。 #region 同步通過POST方式發送資料 /// <summary> /// 通過POST方式發送資料 ///
Time of Update: 2018-12-07
C#中的類定義C#使用class關鍵字來定義類:class MyClass{ // Class members.}預設情況下,類聲明為內部的,即只有當前工程中的代碼才能訪問也可以用internal關鍵字顯式聲明:internal class MyClass{ // Class members.}可以指定類是公用的,即可以由其他工程中的代碼來訪問要用public關鍵字聲明:public class MyClass{ // Class
Time of Update: 2018-12-07
一 C# 與 C1 C# 通常不使用指標2 可以在一個方法裡的任何地方聲明變數,不必把聲明語句放在方法的頂端3 使用一個對象前,不一定要聲明它,可以在使用的時候再定義4 C#對結構類型的定義有些不同,它根本不支援等位型別5 C#有枚舉類型,允許一系列被命名的量(如顏色,星期)賦值為連續的數值,但文法有些不同6 C#沒有位域,也就是說,變數至少要佔用一個位元組的儲存空間7 C#不支援變長參數列表,必須針對參數值和類型定義一個方法,而C 語句允許函數的最後一個參數為可變參數數組。8
Time of Update: 2018-12-07
一、已最小化的視窗點擊“X”或“Alt+F4”時,已最小化的視窗,如:protected override void WndProc(ref Message m){const int WM_SYSCOMMAND = 0x0112;const int SC_CLOSE = 0xF060;if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_CLOSE){// User clicked close
Time of Update: 2018-12-07
Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
對於回呼函數的編寫始終是寫特殊處理功能程式時用到的技巧之一。先介紹一下回調的使用基本方法與原理。 1、在這裡設:回呼函數為A()(這是最簡單的情況,不帶參數,但我們應用的實際情況常常很會複雜),使用回呼函數的操作函數為B(), 但B函數是需要參數的,這個參數就是指向函數A的地址變數,這個變數一般就是函數指標。使用方法為:int A(char *p); // 回呼函數 typedef int(*CallBack)(char *p) ; // 聲明CallBack 類型的函數指標
Time of Update: 2018-12-07
為了不模糊概念在這裡我們就簡單的闡述一下類的分解,前面的教程我們著重講述了類的繼承,繼承的特點就是,衍生類別繼承基類的特性,進行結構擴張,這種逐步擴張,逐步在各衍生類別中分解彼此不同特性的過程其實就是類的分解。 分解過程筆者在這裡不想再拿代碼進行過多闡述分析了,意思說到,對於逐步分解,逐步擴張的思想就靠大家自己思考了。
Time of Update: 2018-12-07
今天的會議,Anders 的 session 座無虛席,Anders 回顧了一下C#的曆史,以及展望了未來,然後著重提了幾個特性。C# 1.0, 大概98年11月份開始組件團隊,馬上就10年了。關鍵詞:Managed Code,Managed 程式碼C# 2.0, 提出了,GenericsC# 3.0, 主要是Linq那麼C# 4.0呢?Anders 提到目前語言的幾個方向,或者是以後的趨勢Declarative,所謂聲明性語言,比如