⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00407.txt

📁 Delphi编程五大妙招源程序
💻 TXT
字号:
1:打开外部已开启的应用程序
打开计算器应用程序,SW_NORMAL这个参数的说明可以到Windows.Pas单元里面去看说明。
WinExec(Pchar('C:\Windows\calc.exe'), SW_NORMAL) ;

2:关闭外部已开启的应用程序
关闭计算器程序,
procedure TForm1.Button2Click(Sender: TObject);
var
  HWndCalculator : HWnd;
begin
  // find the exist calculator window
  HWndCalculator := FindWindow(nil, '计算器'); // close the exist Calculator
  if HWndCalculator <> 0 then
    SendMessage(HWndCalculator, WM_CLOSE, 0, 0);
end;

3:把自己的菜单项加入系统菜单 
要解决这个问题,有两个工作要做:
Ⅰ:如何把用户菜单项加入系统菜单, 
Ⅱ:如何才能响应这一菜单项。 
解决问题Ⅰ:首先需要获取系统菜单的句柄,这一点可用API函数getsystemmenu()来获取,有了系统菜单句柄,用API函数appendmenu()向系统菜单中加入用户菜单选项了。 

解决问题Ⅱ:需要重载WM_SYSCOMMAND或WM_MENUSELECT消息。当用户从菜单中选一项时,系统便会发出WM_COMMMAND消息,而对于系统菜单,则会发出WM_SYSCOMMAND消息,重载这个消息,并判断选中菜
单的ID值是否为用户设定值便可以了。
在Private声明部分,说明了过程,procedure User_SysMenu(var msg:twmmenuselect); message wm_syscommand;用于响应用户菜单事件。

procedure  TForm1.user_sysmenu(var msg:TWMMENUSELECT);
begin
  if msg.iditem=100 then Label1.Caption := '你已经成功了,真是不可思议'
                    else inherited;     { 作缺省处理,必须调用这一过程}
end;

procedure TForm1.Button3Click(Sender: TObject);
Var
  Menutemp : HMENU ;
begin
  MenuTemp := GetSystemMenu(handle,false); //获取系统菜单句柄
  AppendMenu(MenuTemp,MF_SEPARATOR,0,nil);
  AppendMenu(MenuTemp,MF_STRING,100,'测试'); //加入用户菜单
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -