delphi 同时只能够运行一个程序。(网上搜的)

原创 2007年09月18日 14:07:00

首先在项目文件(*.dpr)uses段中添加Windows的引用,然后声明一个hWnd类型的变量hMutex

var

    hMutex:hWnd;

最后在项目文件的beginend中添加以下代码:

  Application.Initialize;

  Application.Title:='test';

  CreateMutex(nil,false,'test');

  if GetLastError<>Error_Already_Exists then

  begin

    Application.CreateForm(TForm1, Form1);

    Application.Run;

  end

  else

  begin

    Application.MessageBox('本程序只允许同时运行一个','Error');

  end;

Application对象的Title属性的值可以根据自己的需要设置。通过CreateMutex函数来创建一个互斥量,如果GetLastError不等于Error_Already_Exists,也就是本程序的实例没有运行,那么就正常启动程序,反之则表示本程序的实例已经在运行,那么就会弹出一个对话框提示用户,不启动程序。

 

【转】delphi程序只允许运行一个实例的三种方法:

一、        创建互斥对象    在工程project1.dpr中创建互斥对象 Program project1 Uses Windows,Form, FrmMain in 'Frm...
  • beyondqd
  • beyondqd
  • 2012年12月05日 11:15
  • 6273

同时只能够运行一个程序

本实例介绍如何做得同时只能够运行一个程序。 首先在项目文件(*.dpr)的uses段中添加Windows的引用,然后声明一个hWnd类型的变量hMutex: var hMutex:hW...
  • wozengcong
  • wozengcong
  • 2014年01月01日 15:21
  • 637

Delphi实现程序只运行一次并激活已打开的程序

unit wdRunOnce; {******************************************* * brief: 让程序只运行一次 * autor: linzhenqu...
  • nanfeiyannan
  • nanfeiyannan
  • 2012年07月12日 21:57
  • 2213

Delphi防止同时出现多个应用程序实例

多实例指同时有同一个应用程序的多个副本在运行。同一个应用程序的多个副本可以相互独立地同时运行,是Win32操作系统提供的一个功能。但有时,我们可能希望用户启动应用程序后就不再启动它的别的副本。比如某种...
  • Tercel99
  • Tercel99
  • 2008年02月13日 09:24
  • 1516

delphi只允许运行一个实例

"delphi 只允许运行一个实例的三种方法转": 一、创建互斥对象 在工程project1.dpr中创建互斥对象 program project1 uses windows,for...
  • qq1217051982
  • qq1217051982
  • 2018年01月31日 14:47
  • 19

delphi 只运行一个程序

举个例子     让程序只运行一个实例(Delphi篇)     -------------------------------------------     全局原子法              ...
  • delphicui
  • delphicui
  • 2008年08月01日 08:16
  • 686

让程序只运行一个实例(Delphi篇)

Windows 下一个典型的特征就是多任务,我们可以同时打开多个窗口进行操作,也可以同时运行程序的多个实例,比如可以打开许多个资源管理器进行文件的移动复制操作。但有时出于某种考虑(比如安全性),我们要...
  • chaijunkun
  • chaijunkun
  • 2010年05月10日 11:46
  • 1832

Delphi中,让程序只运行一次的方法

公司开发的软件需要对串口进行操作,每次打开软件后程序自动去打开串口寻找连接到串口上的设备,但是如果用户不知道打开了两次,那么第二次打开的程序是不能正常使用的,因为对串口的操作时独占的,第一个程序独占了...
  • my98800
  • my98800
  • 2016年09月28日 20:51
  • 598

解决C#程序只允许运行一个实例的几种方法详解

方法一:使用线程互斥变量. 通过定义互斥变量来判断是否已运行实例. 把program.cs文件里的Main()函数改为如下代码:using System; using System.Windows.F...
  • jiangdefu
  • jiangdefu
  • 2016年08月12日 09:42
  • 2375

保证应用程序只有一个实例在运行——VS2008

让一个程序只运行一个实例的方法有多种,但是原理都类似,也就是在程序创建前,有窗口的程序在窗口创建前,检查系统中是否已经设置了某些特定标志了,如果有说明已经有一个实例在运行了,则当前程序通知用户怎样怎样...
  • u011981018
  • u011981018
  • 2015年01月29日 16:43
  • 597
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:delphi 同时只能够运行一个程序。(网上搜的)
举报原因:
原因补充:

(最多只允许输入30个字)