server 2000 系统中多个用户远程登录,怎么防止运行同一个程序?(50)

  • 主题发起人 刀疤董
  • 开始时间

刀疤董

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi编写的EXE应用程序是放在server2000服务器上,[red]不同的远程登录运行同一个程序,我现在想A用户打开了EXE应用程序后,B、C。。。。用户在打开该应用程序的时候,会提示【已打开】[/b[/red]]。begin CreateMutex(nil, True, 'TEST'); if GetLastError = ERROR_ALREADY_EXISTS then begin MessageBox(0, PChar('TEST程序已经在运行中!'), '警告', MB_ICONINFORMATION); Halt; end; ////////////////////////////////////////////////////////////////////系统初始化 Application.Initialize; Application.CreateForm(Tmain, main); Application.Run; //////////////////////////////////////////////////////////////////////////////end.以上代码在同一用户中运行多个该应用程序时有效,在跨用户运行该应用程序不能达到效果。
 
这样做肯定不行,可以试试在内存中查找这个文件的进程,估计可以,如果查到,就不运行。
 
嗨,,问题我是解决了。但是切入点并不是进程,而且在配置文件中加了一个参数,空闲的时候0,运行的时候1。只是运行前判断一下就知道是否在运行。跨用户就可以了。笨办法
 
这到是一个办法,也可写注册表,但如果一但程序强制关闭了,就改不回来了。
 
你可以建立一个Tcpserver,客户端连接上来注册!
 
加个点对点的通信啊 打开了就是1,没打开就一直是零,如果掉线了,其实还是打开的,
 
有一个现成的控件可以解决.去Board4all.cz找.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部