Windows 程式基礎

2022-09-01 00:42:20 字數 1174 閱讀 8348

在windows中,程式的基本單位不是過程和函式,而是視窗。乙個視窗是一組資料以及處理這些資料的視窗函式的集合。如果從物件導向的角度考慮,視窗本身就是乙個物件。windows程式的執行過程本身就是視窗等物件的建立、處理和消亡的過程。windows中訊息的傳送可以理解為乙個視窗物件向其他視窗物件請求服務的過程。因此。物件導向的程式設計思想是進行windows程式設計的首選。

一.控制代碼

微軟將這種描述了事物的資料結構例項都叫做物件。微軟公司雖然在windows系統中定義了這些資料結構,但並未向使用者公開,因此,為了使使用者應用程式可以建立並獲得這種物件,windows在api中提供了相應的服務函式,使用者通過呼叫這種函式獲得由系統建立的物件。由於使用這種方法建立的物件位於核心記憶體空間,故稱為核心物件。但是必須注意,使用者呼叫api函式建立核心物件成功之後,函式返回的是windows作業系統為這個核心物件所編制的乙個4位元組的整數臨時編號。為了程式的可讀性,並根據這個編號的用途,windows對這個整型資料變數定義了乙個別名:「控制代碼(handle)」。

乙個控制代碼就表示乙個核心物件。

之所以叫做控制代碼型別,因為它與生活中刀柄,鍋柄的作用相似,意思就是使用者只要獲得了控制代碼,那麼也就獲得了安裝在核心物件上的「手柄」,就能在不直接接觸這個物件的情況下進行操作。從使用的角度看,控制代碼與指標的功能相似,都是指向乙個物件或儲存區域,但指標是乙個位址,而控制代碼只是乙個整型形式的編號且不能像指標那樣參與運算。

1.hinstance控制代碼

hinstance控制代碼——應用程式例項控制代碼。

在作業系統眼裡,應用程式是乙個**的執行過程,是它負責執行和管理的乙個物件。因此作業系統必須在程式執行之前為這個程式建立乙個結構體變數,以便在程式執行起來後記錄該程式的執行進度、狀態、記憶體占用情況、檔案和外設的使用情況的相關資料,並根據這些資料對程式的執行進行管理。windows作業系統是通過這個與程式**相關聯的資料結構變數來掌控乙個程式的執行。windows中的這種以表示乙個程式執行過程的核心物件,叫做程序物件或程序,也叫做「程序控制塊」。在windows中,這種程序控制塊的型別就是hinstance。

hinstance型別控制代碼看成是windows定義的乙個新的資料型別——程式型別,而其物件則相當於是乙個程式型別的變數,這個變數就代表乙個正在執行的程式,windows每執行乙個程式就會把該程式的指標賦予這個變數,程式可以使用這個變數對乙個程式進行操作。注意:如果使用者啟動了兩次word應用程式,那麼在系統中就有兩個word的應用程式例項控制代碼存在。

windows服務程式

有時候需要windows服務程式來執行一些操作,比如需要在登陸前啟動,不想被殺軟判為自啟動,當然還是能被發現,但是殺軟的普通清理時不會清理的。但是服務程式不能進行介面互動,因為他不屬於使用者介面。他只是在後台默默的啟動,執行,對於收集資料,後台更新再合適不過了。乙個服務程式的簡單寫法 service...

初識Windows程式

初識windows程式 表1 1 窗體的主要屬性和方法 屬性 說明 name 窗體物件的名稱,用以在 中進行標識 backcolor 窗體的背景色 backgroundimage 窗體的背景影象 formborderstye 窗體顯示的邊框樣式,有七個可選值,預設為sizable maximizeb...

Windows執行緒基礎

文章 自 執行緒由兩部分組成 執行緒核心物件和執行緒棧。關於核心物件請看 windows核心物件簡介。執行緒核心物件,作業系統用執行緒核心物件來管理執行緒,作業系統還用它來存放統計資訊。執行緒棧,用於維護執行緒執行時所需的所有函式引數和區域性變數,就是c 程式設計師常說的執行緒棧和託管堆中的執行緒棧...