在客户端隐藏自己的应用程序窗口

     今天在做网络监控客户端程序的时候,想在客户端不显示自己的应用程序窗口,要不然谁愿意让你监控,是不是?人家一看到的话肯定关闭了,所以我想把我的应用程序隐藏起来,不那么容易被发现,这样就可以神不知鬼不觉的进行监控了,首先要解决的就是窗口的隐藏,今天写这篇文章就是要说这个内容,当然,我不是怎么高手,只是在做的过程中遇到了一些也许被很多人难以发觉的问题而导至久久不能完成任务,下面我们来谈谈吧!

    只要说到窗口隐藏,很多人肯定想到用API函数的设置窗体属性函数:SetWindowLong,以下是两种方法:

第一种:

    procedure TForm1.FormCreate(sender:TObject);
    begin
      ShowWindow( Application.Handle, SW_HIDE );
      SetWindowLong( Application.Handle, GWL_EXSTYLE,
                   GetWindowLong(Application.Handle, GWL_EXSTYLE) or
                   WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
      ShowWindow( Application.Handle, SW_SHOW );
    end;

第二种:

procedure TFormMain.FormCreate(Sender: TObject);
begin
  {将程序的窗口样式设为TOOL窗口,可避免在任务条上出现}
  SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;

procedure TFormMain.FormPaint(Sender: TObject);
begin
  Hide;
end;

这两种都可以实现,但是往往很多人用了之后都会说不能实现,而是在任务栏的上方出现了一个小窗口,只是不出现在任务栏上而已,这就是我们要说的问题,现在我可以告诉大家,这是跟你的窗口最大化最小化还是正常显示的属性有关,你只要把你的FORM的WINSTATE属性设为最大化,你再试试看,就不出现窗口了,这样问题就解决了吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值