控制系統菜單

INDOWS附帶的時鍾程序有這樣一個特點:它的"Always on top"選項是加在系統菜單中的,這一技巧爲該程序增色不少,同時也增加了其神秘感。我們在程序設計時能否把自己的菜單項加入系統菜單呢?回答是肯定的,筆者用Delphi方便的實現了這一功能。

爲實現這一功能,需要解決兩個問題:①、如何把用戶菜單項加入系統菜單,②、如何才能響應這一菜單項。

要解決第一個問題,就需要獲取系統菜單的句柄,這一點可用API函數getsystemmenu()來獲取(getmenu()只能獲取用戶菜單句柄),有了系統菜單句柄,便可以用API函數appendmenu()向系統菜單中加入用戶菜單選項了。

要解決第二個問題,需要重載WM_SYSCOMMAND或WM_MENUSELECT消息。我們知道,當用戶從菜單中選一項時,系統便會發出WM_COMMMAND消息,而對于系統菜單,則會發出WM_SYSCOMMAND消息,重載這個消息,並判定選中菜單的ID值是否爲用戶設定值便可以了。Delphi爲我們提供了這方面的機制,使我們能方便的實現這一功能。當然,爲實現這一功能我們還可以利用子類

或爲系統加消息鈎子的方法來解決。

爲了便于實現,在這裏,我們采用重載WM_SYSCOMMAND消息和填寫WM_MENUSELECT消息結構的方法來實現這一功能。

下面爲筆者爲實現這一功能而開發的實例。

程序在Delphiver1.0下調試通過。

PRogram Psysmenu;

uses

Forms,

Sysmenu in \SYSMENU.PAS {Form1};

{$R *.RES}

begin

application.CreateForm(TForm1, Form1);

Application.Run;

end.

unit Sysmenu;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes,

Graphics, Controls,Forms, Dialogs;

type

TForm1 = class(TForm)

procedure FormCreate(Sender: TObject);

private

procedure user_sysmenu(var msg:twmmenuselect);

message wm_syscommand;

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.user_sysmenu(var msg:TWMMENUSELECT);

begin

if msg.iditem=100 then

showmessage( 響應系統菜單!)

{ 也 可 以setwindowpos()來實現處于最前端功能}

else

inherited; { 作缺省 ?,必須調用這一過程}

end;

procedure TForm1.FormCreate(Sender: TObject);

var hmenu:integer;

begin

hmenu:=getsystemmenu(handle,false);

{獲取系統菜單句柄}

appendmenu(hmenu,MF_SEPARATOR,0,nil);

appendmenu(hmenu,MF_STRING,100,加入系統菜單);

{加入用戶菜單}

end;

end.

控制系統菜單
更多內容請看系統安全設置 系統安裝手冊 系統備份專題專題,或

 
ERP環境下內部控制系統建立與實施要點
  ERP雖然在技術上依托于現代信息技術,但本質上是個管理工程,其目的是要把根據企業實際情況提煉出來的先進管理流程、管理方法、管理技術及管理理念,用現代IT技術固化成型,從而提升企業的工作效率。而內部控制作...查看完整版>>ERP環境下內部控制系統建立與實施要點
 
基于DSP的視頻檢測和遠程控制系統設計
基于DSP的視頻檢測和遠程控制系統設計
作者:李志爲 盛翊智 摘要:提出一種視頻測和遠程控制的嵌入式設計方法,解決了采用具有高性能的數據處理功能的DSP作爲視頻檢測處理器的設計總是;同時,提出在嵌入式操作系統中通信平台的設計方法,實現了在嵌...查看完整版>>基于DSP的視頻檢測和遠程控制系統設計
 
現代控制系統(第9版英文影印版)/國外高校電子信息類優秀教材|報價¥59.00|圖書,工業技術,無線電電子學、電信技術,綜合,多爾夫等著
目錄:圖書,工業技術,無線電電子學、電信技術,綜合,品牌:多爾夫等著基本信息·出版社:科學出版社·ISBN:7030101332·條碼:9787030101334·版次:1·裝幀:平裝內容簡介本書主要內容有控制系統的數學模型、反饋控...查看完整版>>現代控制系統(第9版英文影印版)/國外高校電子信息類優秀教材|報價¥59.00|圖書,工業技術,無線電電子學、電信技術,綜合,多爾夫等著
 
控制系統仿真(高等學校電子與電氣工程及自動化專業“十一五”規劃教材)|報價¥17.90|圖書,工業技術,自動化、計算機技術,自動化技術及設備,自動化系統,綜合,黨宏社
目錄:圖書,工業技術,自動化、計算機技術,自動化技術及設備,自動化系統,綜合,品牌:黨宏社基本信息·出版社:西安電子科技大學出版社·頁碼:231 頁碼·出版日:2008年·ISBN:9787560619460·條碼:9787560619460·...查看完整版>>控制系統仿真(高等學校電子與電氣工程及自動化專業“十一五”規劃教材)|報價¥17.90|圖書,工業技術,自動化、計算機技術,自動化技術及設備,自動化系統,綜合,黨宏社
 
高等教育質量法律控制系統研究|報價¥38.00|圖書,法律,行政法,行政法令,文教、衛生管理法令,牟延林
目錄:圖書,法律,行政法,行政法令,文教、衛生管理法令,品牌:牟延林基本信息·出版社:中國經濟出版社·頁碼:277 頁碼·出版日:2006年·ISBN:7501775370·條碼:9787501775378·版次:2006年12月第1版·裝幀:平裝...查看完整版>>高等教育質量法律控制系統研究|報價¥38.00|圖書,法律,行政法,行政法令,文教、衛生管理法令,牟延林