📄 069.htm
字号:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI专题文档-程序应用-->检测程序是否运行</TITLE>
<META NAME="keywords" CONTENT=" DELPHI专题文档-程序应用 检测程序是否运行">
<META NAME="description" CONTENT=" - DELPHI专题文档-程序应用 - 检测程序是否运行">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋体"}
.tt2 {font: 12pt/15pt "宋体"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<a href="index6.html">返回</a>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0>
<TR>
<TD class="tt2" bgcolor="#F5F8F8" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷体_GB2312">检测程序是否运行</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
<p class="tt2">在某些情况下,我们编写的应用程序同时只能有一个实例在内存中运行,例如服务器程序、需要独占某设备的程序,甚至我们仅仅是让程序同时只有一个实例运行(如UltraEdit就是这样做的,让你不能同时运行多个UltraEdit)。要实现此功能,需要在程序中加一点判断的代码,在Windows
95或Win32环境下的Delphi版本中实现的程序如下:<br>
按Ctrl+F12键,选择Project1,加入下列语句<br>
program Project1;<br>
<br>
uses<br>
windows, {加入该句才能调用函数}<br>
Forms,<br>
Unit1 in 'Unit1.pas'{Form1};<br>
<br>
{$R *.RES}<br>
const classname='TForm1'; {声明为主窗体的类名}<br>
var handle:integer; {变量}<br>
<br>
begin<br>
{-----------------主要为该判断部分----------------------}<br>
handle:=findwindow(classname,nil);{查找是否有此类的窗体}<br>
if handle<>0 then {不为0则程序已运行}<br>
begin<br>
messagebox(0,'该程序已经有一个在运行中!','运行',0);{提示程序已运行}<br>
halt; {退出程序}<br>
end;<br>
{------------------------------------------------------}<br>
Application.Initialize;<br>
Application.CreateForm(TForm1, Form1);<br>
Application.Run;<br>
end.<br>
该程序在测试时由于Delphi也生成了此类实例窗体,所以会出现提示框,只有关闭Delphi后单独运行程序才能实现。</p>
<hr color="#EE9B73" size="1" width="94%">
</TD>
</TR>
</table>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -