无论多少用户登录到系统,程序只能运行一个!不要告诉我用Mutex,Mutex对多用户登录是无效的。
解决方案 »
- IsInLeapYear, EncodeDate 和 DateToStr,求例子。
- Memo如何让光标定位到第二行?
- 低级问题
- 请教Delphi中关于异常处理的问题,急等!!
- DataSet的AfterOpen事件(好像是关于AfterOpen事件问题的第一问^_^)
- 使用string型的变量,怎样用在tmemorystream.read(s, length(s))里面?
- 关于paintbox控件
- 我在专家门诊Delphi DataBase提出的问题
- ADO怎么来打开有密码的access数据库。
- 注册类
- 为什么?-----我画的线消失了?
- delphi客户端如何调用webservice中的数组
The name of the mutex object. The name is limited to MAX_PATH characters. Name comparison is case sensitive. If lpName matches the name of an existing named mutex object, this function requests the MUTEX_ALL_ACCESS access right. In this case, the bInitialOwner parameter is ignored because it has already been set by the creating process. If the lpMutexAttributes parameter is not NULL, it determines whether the handle can be inherited, but its security-descriptor member is ignored.If lpName is NULL, the mutex object is created without a name.If lpName matches the name of an existing event, semaphore, waitable timer, job, or file-mapping object, the function fails and the GetLastError function returns ERROR_INVALID_HANDLE. This occurs because these objects share the same name space.The name can have a "Global\" or "Local\" prefix to explicitly create the object in the global or session name space. The remainder of the name can contain any character except the backslash character (\). For more information, see Kernel Object Namespaces. Fast user switching is implemented using Terminal Services sessions. The first user to log on uses session 0, the next user to log on uses session 1, and so on. Kernel object names must follow the guidelines outlined for Terminal Services so that applications can support multiple users.Windows 2000: If Terminal Services is not running, the "Global\" and "Local\" prefixes are ignored. The remainder of the name can contain any character except the backslash character.
The object can be created in a private namespace. For more information, see Object Namespaces.