2个回答
2013-11-18
展开全部
Win+D是通过消息的,会给每项程序发送
WM_WINDOWPOSCHANGING;
WM_WINDOWPOSCHANGING
WM_NCCALCSIZE
WM_NCCALCSIZE
WM_WINDOWPOSCHANGED
WM_MOVE
WM_MOVE
WM_SIZE
WM_SIZE
WM_WINDOWPOSCHANGED
//下面程序通过拦截WM_WINDOWPOSCHANGED实现按WIN+D使图标缩到Tray区
//声明自定义过程:
procedure MyPosMsg(var Msg:TWMWindowPoschanged);
message WM_WINDOWPOSCHANGED;
//实现自定义过程:
procedure TForm1.MyPosMsg(var Msg:TWMWindowPoschanged);
begin
if IsIconic(Application.handle) then //如果主程序被最小化
begin
self.hide;//从任务栏消失
AddIcon(handle);//在系统托盘区(Systray)增加图标
end;
end;
//以上程序在Delphi6.0和Window98环境调试通过
Function TForm1.AddIcon(hwnd:HWnd):Boolean;
var
nid:NOTIFYICONDATA;
begin
nid.cbSize:=sizeof(NOTIFYICONDATA);
nid.Wnd:=hwnd;
nid.uID:=ID_MAIN; //ID_MAIN=100 or ...
nid.uFlags:=NIF_MESSAGE or NIF_ICON or NIF_TIP;
nid.uCallBackMessage:=WM_MYNOTIFY;//WM_MYNOTIFY=WM_USER+100;
nid.hIcon:=LoadIcon(hInstance'MAINICON');
strcopy(nid.szTip,'My Delphi Program');
AddIcon:=Shell_NotifyIcon(NIM_ADD,@nid);
end;
WM_WINDOWPOSCHANGING;
WM_WINDOWPOSCHANGING
WM_NCCALCSIZE
WM_NCCALCSIZE
WM_WINDOWPOSCHANGED
WM_MOVE
WM_MOVE
WM_SIZE
WM_SIZE
WM_WINDOWPOSCHANGED
//下面程序通过拦截WM_WINDOWPOSCHANGED实现按WIN+D使图标缩到Tray区
//声明自定义过程:
procedure MyPosMsg(var Msg:TWMWindowPoschanged);
message WM_WINDOWPOSCHANGED;
//实现自定义过程:
procedure TForm1.MyPosMsg(var Msg:TWMWindowPoschanged);
begin
if IsIconic(Application.handle) then //如果主程序被最小化
begin
self.hide;//从任务栏消失
AddIcon(handle);//在系统托盘区(Systray)增加图标
end;
end;
//以上程序在Delphi6.0和Window98环境调试通过
Function TForm1.AddIcon(hwnd:HWnd):Boolean;
var
nid:NOTIFYICONDATA;
begin
nid.cbSize:=sizeof(NOTIFYICONDATA);
nid.Wnd:=hwnd;
nid.uID:=ID_MAIN; //ID_MAIN=100 or ...
nid.uFlags:=NIF_MESSAGE or NIF_ICON or NIF_TIP;
nid.uCallBackMessage:=WM_MYNOTIFY;//WM_MYNOTIFY=WM_USER+100;
nid.hIcon:=LoadIcon(hInstance'MAINICON');
strcopy(nid.szTip,'My Delphi Program');
AddIcon:=Shell_NotifyIcon(NIM_ADD,@nid);
end;
2013-11-18
展开全部
用Delphi怎么调用IE菜单中的internet选项,其实很简单。
我们可以使用ShellExecute来调用IE的internet选项。
首先,新建一表单,添加一个Button;然后uses添加ShellAPI。
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'control.exe', 'INETCPL.CPL', Nil, SW_SHOWNORMAL);
end;
我们可以使用ShellExecute来调用IE的internet选项。
首先,新建一表单,添加一个Button;然后uses添加ShellAPI。
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'control.exe', 'INETCPL.CPL', Nil, SW_SHOWNORMAL);
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询