Delphi一台电脑只能打开一个我们开发的程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi一台电脑只能打开一个我们开发的程序相关的知识,希望对你有一定的参考价值。

业务是这样:我们开发了一个程序,我登录这个程序后,比如我隐藏到系统托盘了,然后我再去开一个这个程序,但是一台电脑不能启动多个,所有再打开时就直接把隐藏在托盘的那个弹出来 这个有办法实现吗? 望指导,谢谢

参考技术A 不允许多个实例百度一下 delphi程序只允许运行一个实例的三种方法
可以直接用第二种 查找窗口法(第三种全局原子法其实更好一些),然后检查到已经运行的话,对找到的句柄发送消息就行了
PostMessage(hwnd,WM_SYSCOMMAND, SC_MINIMIZE,0); //最小化
PostMessage(hwnd,WM_SYSCOMMAND, SC_MAXIMIZE,0);//最大化
PostMessage(hwnd,WM_SYSCOMMAND, SC_CLOSE,0);//关闭
参考技术B 遍历所有系统进程,看有没有你程序名称的进程,有则是已经创建了,弹出。没有就新创建。 参考技术C initialization
Project:='Examination_Server_Project'; //定义项目名称,作为互斥区名
mHandle:=CreateMutex(nil, true, pchar(Project));
if GetLastError=ERROR_ALREADY_EXISTS then
begin
messagedlg('已经有该程序的另一个实例在运行!', mtInformation, [mbok], 0);
Application.Terminate;
end;
finalization
if mHandle<>0 then
closeHandle(mHandle);
end.本回答被提问者采纳
参考技术D 我以前的做法提写入状态到数据库,我在数据库里做记录。打开了和关闭的情况下写入的值不一样,然后我去判断这个值就可以 了。也可以遍历进程! 第5个回答  2013-03-05 设置多个用户 然后切换用户 不行就安装虚拟机追问

呃,不能是切换用户,

比如我是之前已经打开QQ登录了,然后隐藏到托盘了,当我再次点击桌面的QQ快捷方式的时候就是直接把已经登录的QQ面板弹出来显示在桌面,就是类似于这个样子;

在一台电脑开启多个微信

我们平时在一台电脑只能开启一个微信,如果你想在同一台电脑同时登录多个微信怎么办

本人分享一个小技巧给大家,特别说明,这个技巧针对某些特殊的工作或者有兴趣学习的人使用。

 

 

首先在桌面新建一个txt文本文件,然后用记事本打开,输入start 后面跟微信的应用程序的路径,下面是我的微信安装路径,大家根据自己的实际情况来

 

 

 

 

这个路径在这里找

 

 

 

 

 

对这个文本文件保存退出,同时把扩展名改成bat结尾的

 

 

最后,确保你电脑的微信没有启动下,双击这个bat文件,如果启动了微信就不起作用了,启动了微信就先退出。

 

 

 

可以看到,我电脑开了6个微信,我把自己的微信号登录到其中一个,剩下5个,我就没有多余的微信号登录了。

 

以上是关于Delphi一台电脑只能打开一个我们开发的程序的主要内容,如果未能解决你的问题,请参考以下文章

Delphi 实现一个用户只能在一个地方登陆。

怎么把QQ我的收藏表情图片转移到另一台电脑上

Delphi 移动开发,如何将文件打包到程序中

怎么分别设置一个域账户同时只能登陆一台电脑、一个域账户只能登陆指定电脑。

在一台电脑开启多个微信

台电A10T如何刷机