如何隐藏应用程序 如何隐藏应用程序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是我在网上看到的关于这方面的资料一、从任务栏上隐藏应用程序的按纽 用过金山词霸的朋友一定对其主窗口的工作方式很感兴趣。当它显示时,在任务栏有一个对应的按纽,而当它最小化的时候则从任务栏上消失了。如何在我们的程序中实现这一技巧呢?通过研究Delphi程序的工件方式和试验摸索,本人得出了实现这一技巧的方法。现在写出来与大家共享,希望能对大家编程有所帮助。其实本来实现这一技巧很容易的,只要在窗口的最小化事件代码中加入:self.hide;就行了。但问题是Form没有最小化事件。通过摸索,本人发现当主窗口最小化时会调用Application 对象的OnMinimize方法。只要在自己的主窗口定义中添加一个自己的方法,再将它安装到Application对象的OnMinimize方法上去就行了。要再次显示主窗口只要调用show;方法就行了。不过要注意:一定要主窗口的OnShow事件方法中加入Application.Restore;方法调用,否则,第二次按最小化按纽的时候,程序将什么也不做。要使程序启动时不显示主窗口,只要在Project代码中加入Application.ShowMainForm:=false;就行了。以下是程序片段。{WinKill.Dpr} program WinKill;usesForms,FMain in 'FMain.pas' {FormMain};{$R *.RES}beginApplication.Initialize;Application.CreateForm(TFormMain, FormMain);Application.ShowMainForm:=false;//*****Application.OnMinimize:=FormMain.AppMinimize;//******Application.Run;end.{Unit FMain}...procedure TFormMain.M_ShowClick(Sender: TObject);beginself.Show;end;procedure TFormMain.AppMinimize(Sender: TObject);begininherited;self.Hide;end;procedure TFormMain.FormShow(Sender: TObject);beginApplication.Restore;//如果将这句去掉,则第二次按最小化按纽的时候,程序将什么也不做。end;二、按ALT+DEL+CTRL时不出现在列表中1、在implementation后添加声明: function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';2、在窗体的TForm1.FormCreate(Sender: TObject)事件中添加代码:RegisterServiceProcess(GetCurrentProcessID, 1);//隐藏 RegisterServiceProcess(GetCurrentProcessID, 0);//显示 用看不见 如何实现窗口贴士 这是不是Delphi的一个Bug? 如何删除IE地址栏下拉列表.. delphi2005 真是不爽. 面目全非, 和微软的 vs 一样了. 最恶心的就是那个 Tool Palette. 请问有谁知道UrlDownloadTostream函数? 300分,求音频文件的合成、播放和删除 IntraWeb6怎样安装的? 急!在线等待:一个简单报表问题,请问大家有没有遇到过这种情况? 高分题:请问有什么办法用Delphi来实现对QQ中所有在线好友发信息?不会的也请帮忙up一下 一个很菜的问题 如何更改桌面的颜色和桌面图标字体的颜色? 如何判断一个Blob字段有内容?
一、从任务栏上隐藏应用程序的按纽
用过金山词霸的朋友一定对其主窗口的工作方式很感兴趣。当它显示时,在任务栏有一个对应的按纽,而当它最小化的时候则从任务栏上消失了。如何在我们的程序中实现这一技巧呢?通过研究Delphi程序的工件方式和试验摸索,本人得出了实现这一技巧的方法。现在写出来与大家共享,希望能对大家编程有所帮助。其实本来实现这一技巧很容易的,只要在窗口的最小化事件代码中加入:self.hide;就行了。但问题是Form没有最小化事件。通过摸索,本人发现当主窗口最小化时会调用Application 对象的OnMinimize方法。只要在自己的主窗口定义中添加一个自己的方法,再将它安装到Application对象的OnMinimize方法上去就行了。要再次显示主窗口只要调用show;方法就行了。不过要注意:一定要主窗口的OnShow事件方法中加入Application.Restore;方法调用,否则,第二次按最小化按纽的时候,程序将什么也不做。要使程序启动时不显示主窗口,只要在Project代码中加入Application.ShowMainForm:=false;就行了。以下是程序片段。{WinKill.Dpr}
program WinKill;
uses
Forms,
FMain in 'FMain.pas' {FormMain};
{$R *.RES}
begin
Application.Initialize;
Application.CreateForm(TFormMain, FormMain);
Application.ShowMainForm:=false;//*****
Application.OnMinimize:=FormMain.AppMinimize;//******
Application.Run;
end.
{Unit FMain}
.
.
.
procedure TFormMain.M_ShowClick(Sender: TObject);
begin
self.Show;
end;
procedure TFormMain.AppMinimize(Sender: TObject);
begin
inherited;
self.Hide;
end;
procedure TFormMain.FormShow(Sender: TObject);
begin
Application.Restore;
//如果将这句去掉,则第二次按最小化按纽的时候,程序将什么也不做。
end;二、按ALT+DEL+CTRL时不出现在列表中
1、在implementation后添加声明:
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL';
2、在窗体的TForm1.FormCreate(Sender: TObject)事件中添加代码:
RegisterServiceProcess(GetCurrentProcessID, 1);//隐藏
RegisterServiceProcess(GetCurrentProcessID, 0);//显示 用看不见