吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6132|回复: 10
收起左侧

[其他转载] 工程文件中的互斥体的应用

 关闭 [复制链接]
hixiaosheng 发表于 2010-2-4 22:52
本帖最后由 当红小生 于 2010-2-4 23:01 编辑
program Project1;

uses
Forms,windows,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
CreateMutex(nil,False,'only flag!');
if GetLastError <> 0 then
begin
Application.MessageBox('程序已经运行,你不想双开吧?','提示',MB_OK);
Halt(0);
end;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
==========================================
脱穿山甲,pespin双进程的时候用到了互斥体
其他收获:
halt,close,terminate的区别
1.当Close是一个主窗体时,程序会退出.
  Close会发生FormClose事件,FormCloseQuery事件
  Halt会发生FormDestory事件,
  Application.Terminate以上三个事件都不会发生

  Application.Terminate就是程序结束了。整个程序结束运行,系统强行收回系统资源
  当主窗口关闭时或WM_QUIT消息触发时,Terminate自动被调用
  close,只是针对窗体

  主窗体close以后程序就Application.Terminate了。   
  子窗体close以后,没释放,还可以Show出来。   
  也是说主窗口的Close方法其实也是调用Application的Terminate来终止程序的
  Application.Close是正常退出,有应用程序主动交还系统资源   
   
2.主窗口的Close方法可以触发OnClose事件,而Application.Terminate并不会触发该事件.

免费评分

参与人数 1威望 +1 收起 理由
zapline + 1 感谢发布原创作品,[吾爱破解]因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

哲少 发表于 2010-2-22 15:32
来看一下
zx258 发表于 2010-6-17 09:16
nevsayno 发表于 2010-6-18 03:50
nevsayno 发表于 2010-6-18 03:54
Terminate之后便是互斥体释放了吗?
hak88 发表于 2010-9-29 14:48
第一次听说这个,学习了
ww949494 发表于 2010-10-18 18:44
我一直用findwindow判断
elqs 发表于 2010-10-26 16:12
我也是這麼用的
ji5261 发表于 2011-1-11 12:14
新手来学习下这个东西。
qwertq002 发表于 2011-10-17 18:09
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 18:25

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表