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