Windows 程式設計/程式設計螢幕保護程式
外觀
螢幕保護程式是圖形程式,在計算機閒置時會鍛鍊計算機螢幕,以防止螢幕損壞。然而,螢幕保護程式也可以非常美觀、有趣和娛樂。
螢幕保護程式本質上是正常的可執行程式,只是有一些細微的差別
- 它們使用 .scr 副檔名,而不是 .exe
- 它們具有 ScreenSaverProc,而不是 WindowProc。
- 它們呼叫 DefScreenSaverProc,而不是 DefWindowProc。
此外,螢幕保護程式必須包含一個配置對話方塊,當您單擊螢幕保護程式並選擇“屬性”時,外殼可以呼叫該對話方塊。最後一個要求是螢幕保護程式必須在資源 1 處有一個字串資源,其中包含對螢幕保護程式的描述。
Windows 會根據螢幕保護程式必須執行的操作模式,在命令列上向螢幕保護程式傳送多個不同的引數。以下是一些引數
- /a <hwnd>
- /s
- /c <hwnd>
- /p <hwnd>
-a 選項告訴螢幕保護程式設定關聯密碼(如果選擇螢幕保護程式為密碼保護)。-s 選項告訴螢幕保護程式執行圖形並開始儲存螢幕。-c 選項告訴螢幕保護程式顯示配置對話方塊,-p 選項告訴螢幕保護程式以預覽模式執行。
WinMain 函式應解碼命令列,並獲取開關(a、s、p、c)和控制代碼(如果指定)。控制代碼值將以 ASCII 字串形式存在,因此需要將其轉換為整數,並存儲到適當的 HWND 變數中。提供的控制代碼是螢幕保護程式父視窗的控制代碼,該父視窗通常是 Windows 顯示對話方塊中的螢幕保護程式選項卡。如果螢幕保護程式處於螢幕保護模式,則沒有父視窗。
如果 WinMain 收到 -s 或 -p,則 WinMain 應呼叫 ScreenSaverProc。如果它收到 -c 選項,WinMain 應呼叫對話方塊過程函式。如果螢幕保護程式收到 -a 選項,則它應彈出一個對話方塊來更改密碼。