delphi 隐藏运行程序,按某按键后调出来仍继续运行

我想做个程序,开机后台运行(隐藏起来),比如用ctrl+F2组合键调出来但程序不会因此而关闭,调到前台来继续运行... 我想做个程序,开机后台运行(隐藏起来),比如用ctrl+F2组合键调出来 但程序不会因此而关闭,调到前台来继续运行 展开
 我来答
就烦条0o
2016-01-26 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部

需要使用热键方式来实现此功能,在热键事件中添加显示窗口的代码,以下为以为写过的一个类似程序的关键代码:

//主窗口Visible属性设置为false则启动时不显示主窗口。
private
    { Private declarations }
    HotKeyId: Integer; //热键ID
    procedure hotkey(var msg:tmessage);message wm_hotkey; //热键事件
//窗口创建事件中添加热键
procedure TForm1.FormCreate(Sender: TObject);
begin
  HotKeyId := GlobalAddAtom('MyHotKey') - $C000;
  if HotKeyId = 0 then
  begin
    close;
  end;
  //热键为ctrl + F8
  if(not RegisterHotKey(Handle, hotkeyid, MOD_CONTROL, VK_F8))then
    close;
end;
//热键事件 显示主窗口
procedure TForm1.hotkey(var msg:tmessage);
begin
  if (Msg.LparamLo = MOD_CONTROL) AND (Msg.LParamHi = VK_F8) then
  begin
    form1.Show ;
  end;
end;
//退出时取消热键
procedure TForm1.FormDestroy(Sender: TObject);
begin
  globalDeleteatom(HotKeyId);
end;
遒劲且威武的小白桦s
2014-01-23 · TA获得超过115个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:191万
展开全部

在dpr文件里面设置:

program Project1;
uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
  Application.Initialize;
  Application.ShowMainForm := false;  //设置主窗体不显示,达到隐藏运行的效果
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Form创建的时候(即Create事件),安装一个全局键盘钩子用来截获按键消息。

设置一个boolean类型的公共变量,用来标记窗口是否显示或隐藏

var
  isformshow: Boolean;


当截获到ctrl+F2消息时

if isformshow then
begin 
  ShowWindow(Form1.Handle, SW_HIDE);
  ShowWindow(Application.Handle, SW_HIDE);
  isformshow := false;
end
else
begin
  ShowWindow(Form1.Handle, SW_RESTORE);
  ShowWindow(Application.Handle, SW_RESTORE);
  isformshow := true;
end;


//关于delphi全局键盘钩子的资料,网上很多,拿来可以直接用。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sirouszlh
2014-01-23 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:642万
展开全部
不会键盘钩子或者觉得麻烦的话
可以下载一个kotkey控件
很方便就可以设置快捷键

至于隐藏 方法有几个
但你这样的小程序 如果是单页面
用form1.Hide; form1.show;也就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式