社区
Delphi
帖子详情
应用程序隐藏在系统托盘中的问题!
wrsy
2002-07-08 10:40:43
主程序调用的外部应用程序启动时隐藏在系统托盘中,怎样可以在外部应用程序启动时全屏显示?
...全文
136
17
打赏
收藏
应用程序隐藏在系统托盘中的问题!
主程序调用的外部应用程序启动时隐藏在系统托盘中,怎样可以在外部应用程序启动时全屏显示?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wrsy
2002-07-12
打赏
举报
回复
外部应用程序隐藏在系统托盘中的问题用非技术方式解决了,感谢大家的支持与帮助!
dext
2002-07-11
打赏
举报
回复
ShellExecute(Handle,'open','YourProgramName',nil,nil,SW_MAXIMIZE);
行不行!
记得uses ShellAPI;
dext
2002-07-11
打赏
举报
回复
ShellExecute(Handle,'open','YourProgramName',nil,nil,SW_MAXIMIZE);
行不行!
记得uses ShellAPI;
wrsy
2002-07-11
打赏
举报
回复
to dext
第一次启动的问题解决了,全屏的还不行。
主程序调用外部应用程序,外部应用程序隐藏在系统托盘中,可我希望它全屏显示,我用IsIconic来判断,没成功。
wrsy
2002-07-11
打赏
举报
回复
to dext
是否是第一次启动的问题解决了,全屏的还不行。
主程序调用外部应用程序,外部应用程序隐藏在系统托盘中,我想让它直接全屏显示,不隐藏,试了几种方法都不行。
项目张雪峰之巅
2002-07-11
打赏
举报
回复
其实没太懂楼主的意思,
什么还是隐藏的
什么是全屏,(是不是最大化)
?
wrsy
2002-07-11
打赏
举报
回复
不行,还是隐藏的
wrsy
2002-07-11
打赏
举报
回复
不行,还是隐藏的
dext
2002-07-10
打赏
举报
回复
至于是否是第一次启动看看下面:
避免二次运行
实现单实例运行的关键是判断前一实例是否存在,Win3.x中运行的程序能获知前 一实例的句柄,从而可以方便地进行判断,但 Windows 95 是抢先式多任务系统,其程序的前一实例句柄恒为零,所以只有另寻其他办法。目前最有效的办法是通过查看是否有相同窗口类名的例程存在来进行判断。下面介绍在Delphi中实现的方法。
1、对主窗口程序的改动:
在主窗口(即程序创建的第一个窗口)中interface节加入
const
CM_RESTORE = WM_USER + $1000; {自定义的“恢复”消息}
MYAPPNAME = "My Delphi Program";
并在Form的定义的public节中加入
procedure CreateParams(var Params: TCreateParams); override;
Procedure RestoreRequest(var message: TMessage); message CM_RESTORE;
在implementation节中加入
{指定窗口名称}
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WinClassName := MYAPPNAME;
end;
{处理“恢复”消息}
procedure TForm1.RestoreRequest(var message: TMessage);
begin
if IsIconic(Application.Handle) = TRUE then
Application.Restore
else
Application.BringToFront;
end;
经过以上修改,程序的主窗口的类名已经被指定了,这是进行判断的基础。一般在程 序刚开始运行的时候进行判断,所以还要对DPR文件进行修改。
2、对DPR文件的改动
在 uses 节中添加 windows、messages这两个单元加入下列语句,注意两个文件中常 量CM_RESTORE和MYAPPNAME的定义必须一致
const
CM_RESTORE = WM_USER + $1000; {自定义的“恢复”消息}
MYAPPNAME = "My Delphi Program";
var
RvHandle : hWnd;
将下列语句插到程序最前部(在Application.Initialize之前)
RvHandle := FindWindow(MYAPPNAME
NIL);
if RvHandle > 0 then
begin
PostMessage(RvHandle
CM_RESTORE
0
0);
Exit;
end;
这段程序的意思是如果找到一个类名相同的窗口,则向该窗口发送一个消息,并退 出,而本例中原窗口收到该消息后会自动激活或从图标还原,从而达到了避免二次运行.
dext
2002-07-10
打赏
举报
回复
嗬嗬,至于启动是全屏幕,有两个方法:
1。将窗口的状态属性设置为最大化
2。将窗口设置位充满客户区。就是那个以a开头的属性
dext
2002-07-09
打赏
举报
回复
我还有源代码!!!!你要吗?
老规矩,不,这次得多点100分。
因为这不仅是我自己写的,而写是纯API做的,没有用VCL
我的Email你知道,具体的情况发Email给我!
lyhold
2002-07-08
打赏
举报
回复
回复人: netlib(河外孤星) ( ) 信誉:116 2002-07-08 10:49:00 得分:0
起动后用
findwindow找到后,给主窗口发消息,
或用SHowwindow也可以。
这个只能最大化,大全屏不知道是哪个消息!!
zhptj
2002-07-08
打赏
举报
回复
用cooltrayicon控件
或者看delphi5开发人员指南,上面写的很详细
s_cube
2002-07-08
打赏
举报
回复
visible := not visible;
application.ShowMainForm := visible;
netlib
2002-07-08
打赏
举报
回复
起动后用
findwindow找到后,给主窗口发消息,
或用SHowwindow也可以。
My_first
2002-07-08
打赏
举报
回复
form1.width:=screen.width;
form1.heigth:=screen.heigth;
wrsy
2002-07-08
打赏
举报
回复
在启动时全屏显示,而不是在启动后
我试了一下,在启动后二位所提的方法是对的,谢谢二位,请继续帮帮忙,帮我想个办法!
还有我想判断外部程序是否是第一次启动,用findwindow可以吗?
QT将
应用程序
缩小到右下角任务栏的
系统托盘
内
标题
中
的"QT将
应用程序
缩小到右下角任务栏的
系统托盘
内"就是指利用QT框架来实现在用户点击最小化按钮时,程序窗口不消失而是
隐藏
到操作系统右下角的任务栏通知区域,通常显示为一个图标。这样,用户可以通过单击这个...
使用PB编写
系统托盘
程序
本文将详细介绍如何在PowerBuilder
中
利用Win32 API函数来创建一个
系统托盘
程序,该程序能够在用户暂时不使用或希望将程序置于后台运行时,将PowerBuilder
应用程序
最小化至
系统托盘
,并通过图标显示。 #### 二、设计...
隐藏
托盘文件!托盘文件
隐藏
在IT领域,托盘文件
隐藏
是一项重要的系统管理技术,它主要涉及到Windows操作系统
中
的
系统托盘
区域,也就是我们通常所说的“通知区域”。这个区域通常位于任务栏的右侧,显示各种
应用程序
的图标,例如网络连接、音量...
任务栏
系统托盘
隐藏
工具
在Windows操作系统
中
,任务栏
系统托盘
区域通常位于屏幕的右下角,这里集成了许多系统及应用的图标,如网络连接、音量控制、电源状态等。然而,有些用户可能出于隐私保护或者工作需求,希望
隐藏
这些图标,使得程序...
隐藏
任意
系统托盘
图标程序
在【标题】
中
提到的“
隐藏
任意
系统托盘
图标程序”,是一个专为Windows XP系统设计的应用,它由编程语言Delphi 6开发,能够允许用户自定义
隐藏
或显示
系统托盘
中
的图标。 Delphi 6是Embarcadero Technologies公司开发...
Delphi
5,930
社区成员
262,936
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章