1. 程式人生 > >為Delphi編寫的螢幕保護程式增加描述

為Delphi編寫的螢幕保護程式增加描述

雖說螢幕保護程式只是個相對特殊的exe(會接受/C、/P、/S等啟動引數,具體可見諸多博文,在此不贅述),但是卻讓一個小小的描述卡住了。

我們知道,作為螢幕保護程式,安裝後會在系統的“顯示”對話方塊的列表裡出現,而進而我們發現,現有的螢幕保護程式顯示的並不是檔名,而是一行描述,而使用Delphi編寫的exe卻無法具備這個特性。

向搜尋引擎尋求幫助後,得到了如下的描述:

You can define the text that will appear in the Control Panel Desktop list of screen savers by adding a {$D text} directive to the project source file. The $D directive inserts the given text into the module description entry of the executable file. For the Control Panel to recognize the text you must start with the term "SCRNSAVE", followed by your description.

Select Project Source from the Delphi View menu so you can edit the source file. Beneath the directive "{$R *.RES}", add the following line:

{$D SCRNSAVE Spheres Screen Saver}

The text "Spheres Screen Saver" will appear in the Control Panel list of available screen savers when we complete the project.

大意是在dpr檔案中寫入{$D SCRNSAVE [要顯示的描述]},就可以在編譯之後的exe內加入螢幕保護程式描述字元。

而就是因為這個僅有的說明(貌似瘋狂的轉載並不是好事,連已經無效的方法都被這樣流傳著)讓我走了很多彎路,以這個說明為前提,我險些否定了自己的工作。

直到一天研究無果後,我決定另闢蹊徑,既然裡面說了是字串,那麼估計應該在程式內能找到。

於是我將系統內建的螢幕保護程式用eXeScope開啟,赫然發現了新大陸:

在字串節點下,key為1的值就是SCRNSAVE +空格+螢幕保護程式描述字串。

那麼那個{$D text}是什麼呢?進而通過仔細查詢,發現,這個關鍵字是生成應用程式描述的,而非字串資源(找到這個說明後才猛然醒悟,為啥不深究一下這個$D呢,都怪自己太不自信了)

既然知道了描述字串的規則,那就動手搞定。

新建一個.rc檔案,設定如下格式:

stringtable
begin
1, "SCRNSAVE  [要顯示的描述字串]"
End

之後在工程中使用{$R [資原始檔名]}引入,編譯,OK,搞定。

相關推薦

Delphi編寫螢幕保護程式增加描述

雖說螢幕保護程式只是個相對特殊的exe(會接受/C、/P、/S等啟動引數,具體可見諸多博文,在此不贅述),但是卻讓一個小小的描述卡住了。 我們知道,作為螢幕保護程式,安裝後會在系統的“顯示”對話方塊的列表裡出現,而進而我們發現,現有的螢幕保護程式顯示的並不是檔名,而是一行描述

macOS 開發 - 使用 ScreenSaverView 製作螢幕保護程式

文章目錄 製作一個圖片旋轉的螢幕保護程式 1、建立一個 screensaver project 2、新增 imgView 3、新增imgView 的動畫效果 4、新增到 `系統偏好設定 - 桌面與螢幕保護程式` 中 5

Aerial for Mac(mac鳥瞰螢幕保護程式) v1.4.6b5最新版

如果您需要一款mac螢幕保護程式,那麼aerial 屏保是您的不二選擇!Aerial是基於全新Apple TV螢幕保護程式的Mac螢幕保護程式,可顯示蘋果在紐約,舊金山,夏威夷,中國等地拍攝的航拍電影。從版本1.4開始,這還包括tvOS 12中提供的新ISS視訊! aerial for m

[mac最美螢幕保護程式]Aerial安裝教程

如果您需要一款mac螢幕保護程式,那麼aerial 屏保是您的不二選擇!Aerial是基於全新Apple TV螢幕保護程式的Mac螢幕保護程式,可顯示蘋果在紐約,舊金山,夏威夷,中國等地拍攝的航拍電影。從版本1.4開始,這還包括tvOS 12中提供的新ISS視訊! aerial for m

使用Win32 SDK開發螢幕保護程式

暮鼓集    行走集 1.引言 螢幕保護程式(Screen Saver)的歷史幾乎與視窗作業系統的歷史一樣悠久,設計它的目的是為了保護CRT顯示器使其的使用壽命更長。但隨著技術的進步,新型的CRT顯示器及液晶顯示器已經無須這樣做了,不過螢幕保護

黑客帝國_螢幕保護程式

Hacker empire 宣告:本程式資源純屬個人創作,文尾提供程式下載地址。 效果圖: 程式思路說明:     1:本原始碼是在VS2013中編寫,在其他版本編譯器應該也可以。     2:在VS2013下新建Win32專案,將視窗設定為全屏,並隱藏滑鼠……,詳見下

編寫一個Java程式螢幕上輸出1!+2!+3!+……+10!的和

package test; /** * @author 作者 * @version 建立時間:2018年10月19日 上午8:28:09 * 類說明 : 編寫一個Java程式在螢幕上輸出1!+2!+3!+……+10!的和 */ public class Xdemo { public

這兩天還在讀x86保護模式的天書了,不過閒暇寫了個二進位制字串轉化二進位制數的幼稚程式

 當然是方便自己查那些什麼特權級,描述符,粒度位,段屬性之類的資訊了。 #include <stdio.h> #include "const.h" //#include "global.h" //#include "proc.h" //#include "protec

編寫一段程式一個文字檔案的每一行前面新增行號,並以一個新的檔案儲存新增 了行號的文字

檔案使用了fileinput的模組對它進行修改 import fileinput c=fileinput.input('6-2(3).txt',backup='.bak',inplace=1) for line in c: d=fileinput.filelineno()

Delphi 編寫呼叫WebService介面的小程式(天氣預報)

Delphi 編寫呼叫WebService介面的小程式 最近由於專案需要在編寫一個webservice的客戶端,網上找來了不少資料,都說可以通過delphi自帶的嚮導來生成呼叫介面的檔案。 如對天氣預報的webservice呼叫http://www.webxml.com.c

編寫一個Java程式,創建制定長度的int型陣列,並生成100以內的隨機數陣列的每個元素賦值

package exercise; import java.util.Arrays; public class exer{public static void main(String[] args) {                  // 建立物件,物件名為hello

編寫網路爬蟲程式安裝Python3.5

1. 下載Python3.5.1安裝包 1.1 進入python官網,點選menu->downloads,網址:Download Python 1.2 根據系統選擇32位還是64位,這裡下載的可執行exe為64位安裝包 2. 安裝Py

自己編寫的windows應用程序制作安裝包

sting 代碼 msd 如何 gid rmi extension 目錄 參考資料 1 寫好了一個windows程序之後如何制作安裝包 這個在vs中就可以直接發布了,可以制作msi的安裝包和exe的安裝包。 2 window應用程序安裝包做了哪些事情 rpm安裝包的話,只是

Lync 項目經驗-24-持久聊天室-查詢或者增加成員

服務器 Lync 查詢-持久聊天服務器-聊天室-中-成員: get-cspersistentchatroom -Identity "SFBPCPool01.i-x-Cloud.com\雲計算-總部" | select Members 增加-持久聊天服務器-聊天室-中-成員: To add a new

VS2017使用方法 編寫C語言程式"Hello World"

 本文介紹用Microsoft Visual Studio 2017建立一個C語言程式的具體步驟。 Step1:開啟Microsoft Visual Studio 2017 Step2:新建Project ①檔案→新建→專案 ②選擇Visual C++ → 空專

python編寫簡單聊天程式

socket模組相關的方法和類 socket.socket():返回一個 socket物件。 socket.create_connection(address):建立一個連線到給定地址的 socket物件(注意:此處的 address是一個二元元組(host,

Mac上編寫C語言程式

基礎知識:   一、mac開啟終端:1、點選mac右上角的搜尋圖示 -> 2、搜尋“terminal.app” -> 按enter鍵開啟終端     二、終端命令:新建檔名(mkdir 資料夾名);列出資料夾下列表(ls); 刪除命令(rm 檔名/資料夾)   三、進入資

java呼叫自己編寫的.exe程式

Runtime rn = Runtime.getRuntime(); Process p = null; try { p = rn.exec("\"F:/export/qq.exe\"");//軟體存放地址的問題 } catch (Excep

用c編寫的一些程式

**1.列印100~200 之間的素數 ** 判斷一個數是否為一個素數,我呼叫<math.h>中的sqrt(x)的寫法,正是因為一個數的因數是成對出現的,所以開方後就只需要判斷它的前一半可以減少一些迴圈次數。 #include <stdio.h> #include

一個Python編寫的小程式(學生資訊管理系統)

def printInfo(StudentData,StudentName): """ :param StudentData: :param StudentName: :return: """ student = StudentData[Stude