在用ActiveXForm时,如何避免程序二次运行???(20分)

  • 主题发起人 主题发起人 icemanpro
  • 开始时间 开始时间
您怎么看得出来 ActiveXForm 程序是在二次运行 ? 介绍一下您的观察方法俺学习学习。
 
两次打开同一网页。
 
使用api函数HANDLE CreateMutex,此函数可以产生互斥的程序,然后每次程序运行时对其检查,具体用法查看帮助。
 
能介绍一下 COM 下,如何使用 CreateMutex 以防止程序二次运行吗,俺想学习学习。
 
ActiveXForm什么意思?偶不懂。。抄书上的代码来。。希望有帮助。。 :)
Resourcestring
FMutex = 'Mutex_ONLY_ONE';
{$R *.RES}
var
hMutex: HWND;
iRet: integer;
begin
Application.Initialize;
hMutex := CreateMutex(nil,False,PChar(FMutex));
iRet := GetLastError;
if iRet <>ERROR_ALREADY_EXISTS then
begin
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
ReleaseMutex(hMutex);
end.
 
哦,ActiveXForm 通过 Delphi 的封装以后,也不是什么复杂的东西了,它与普通应用程序
最大的不同就是它是一个 Component Object Model 。
我不清楚在 Component Object Model 下如何把 CreateMutex 加进去以防止这个 COM 程序
二次运行,也不清楚 COM 是否真的会二次运行,所以想学习学习。
 
:) 谢谢 小雨哥。。 对了,QQ上怎么老见不到您呀 ? 太忙了吧 ? ^_^
 
是。呵呵,就这几天在做自己的事,改天上 QQ 后再聊。
 
后退
顶部