GetClass與RegisterClass的應用一例
利用GetClass與RegisterClass可以實現根據字符串來實例化具體的子類,這對於某些需要動態配置程序的場合是很有用的。其他的應用如子窗體切換,算法
多線程編程(2) - 從 CreateThread 說起
function CreateThread( lpThreadAttributes: Pointer; {安全設置} dwStackSize: DW
多線程編程(3) - 從 CreateThread 說起[續]
function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWord; lpStart
多線程編程(4) - 從 CreateThread 說起[續二]
function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWord; lpStart
多線程編程(5) - 從 CreateThread 說起[續三]
function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWord; lpStart
多線程編程(6) - 從 CreateThread 說起[續四]
function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWord; {堆棧大小}
多線程編程(7) - 從 CreateThread 說起[續五]
function CreateThread( lpThreadAttributes: Pointer; {安全設置} dwStackSize: DWord;
多線程編程(8) - 多線程同步之 CriticalSection(臨界區)
先看一段程序, 代碼文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Cl
多線程編程(9) - 認識等待函數 WaitForSingleObject
一下子跳到等待函數 WaitForSingleObject, 是因為下面的 Mutex、Semaphore、Event、WaitableTimer 等同步手段
多線程編程(10) - 多線程同步之 Mutex (互斥對象)
原理分析: 互斥對象是系統內核對象, 各線程都可以擁有它, 誰擁有誰就能執行; 執行完畢, 用 ReleaseMutex 函數釋放擁有權, 以讓其他等待的
多線程編程(11) - 多線程同步之 Mutex (互斥對象)[續]
Mutex 作為系統核心對象是可以跨進程的(臨界區就不行), 我們可以利用互斥對象禁止程序重復啟動. 工作思路: 先用 OpenMutex 嘗試打開一個