24 个解决方案
#1
做成服务。。
#2
你说的是服务器上的程序会运行两份?如果是这样,说明你服务器上的程序里有这样的设置,一般作为服务程序的都是只运行一个的。
#3
if app.previnstance then
msgbox ″程序正在运行,请检查窗口是否被最小化。″
end if
msgbox ″程序正在运行,请检查窗口是否被最小化。″
end if
#4
说明一下..WIN2003操作系统,是可以多用户登录的,,可以互相切换.
我说的是,程序在A用户登录的界面里运行着.
在B或者C用户登录的界面里,,我不想让这个程序运行.请问如何操作..
app.previnstance 就免了..这个只在同一用户下管用...
我说的是,程序在A用户登录的界面里运行着.
在B或者C用户登录的界面里,,我不想让这个程序运行.请问如何操作..
app.previnstance 就免了..这个只在同一用户下管用...
#5
学习,帮顶
#6
明白你的意思了,那就用文件共享来控制?
运行起来以后在某处写个标记:我运行了
如果有这个标记那就别运行了
运行起来以后在某处写个标记:我运行了
如果有这个标记那就别运行了
#7
有没有高手指点一下哟..
#8
有没有高手指点一下哟..
#9
每天顶一贴,可有效防止蛀牙!
#10
这个是最简单的办法~~~
#11
很简单。程序启动后在注册表的一个位置写个标志位比如1表示已经运行了程序退出就填回0,这种是程序没有非法退出或者windows非法关机之类的情况下。建议最好是遍历进程,在程序启动的时候遍历进程,如果发现进程存在了就退出
#12
建一个临时表(只需一个字段,一条记录),表头格式自己设置一下,登录的时候判断一下数据库里有没有像这样的表就可以了。
#13
猴哥的蓝花又回来了啊
#14
呵呵 ,有没有一个认真点的呀...
#15
用标记的方法你不认为是一种简单可行的办法吗?
#16
遍历进程取特征这是最安全,最有效的方法了
#17
要是程序异常退出,来不及消除那个标记,那个标记还存在,就永远别想再启动程序了。
#18
结合app.previnstance啊
怎么就瞧不起app.previnstance 了?
楼上有些建议还是不错的
看你怎么用
既然听不进别人的话就别问
怎么就瞧不起app.previnstance 了?
楼上有些建议还是不错的
看你怎么用
既然听不进别人的话就别问
#19
要是程序异常退出,来不及消除那个标记,那个标记还存在,就永远别想再启动程序了。
==>
在于你怎么处理异常了!
以前我给mdb文件加密(其实是处理文件头,让access不认识这个文件),也会碰到类似的情况,之后只好在异常时都在处理这个加密过程了,这样就保证异常退出后,系统还能再次正常进入系统。
==>
在于你怎么处理异常了!
以前我给mdb文件加密(其实是处理文件头,让access不认识这个文件),也会碰到类似的情况,之后只好在异常时都在处理这个加密过程了,这样就保证异常退出后,系统还能再次正常进入系统。
#20
做成全局服务,无论如果只会运行一份。
如果需要本人可给你提供一个Demo。
如果需要本人可给你提供一个Demo。
#21
做标记的办法是可行的,也是最简单的,需要自己处理异常,但做成服务则可以不用管理这些
#22
if (NULL == CreateMutex(&sa, TRUE, _T("Global\\MyPrgName")))
{
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
//已经有用户运行啦, 退出
}
}
GetSystemMetrics() 可判断当前是否终端服务
#23
条条大道通罗马,依需而行~~~
#24
谢谢大家...问题解决,,,使用了CreateFile,CloseHandle两个API
#1
做成服务。。
#2
你说的是服务器上的程序会运行两份?如果是这样,说明你服务器上的程序里有这样的设置,一般作为服务程序的都是只运行一个的。
#3
if app.previnstance then
msgbox ″程序正在运行,请检查窗口是否被最小化。″
end if
msgbox ″程序正在运行,请检查窗口是否被最小化。″
end if
#4
说明一下..WIN2003操作系统,是可以多用户登录的,,可以互相切换.
我说的是,程序在A用户登录的界面里运行着.
在B或者C用户登录的界面里,,我不想让这个程序运行.请问如何操作..
app.previnstance 就免了..这个只在同一用户下管用...
我说的是,程序在A用户登录的界面里运行着.
在B或者C用户登录的界面里,,我不想让这个程序运行.请问如何操作..
app.previnstance 就免了..这个只在同一用户下管用...
#5
学习,帮顶
#6
明白你的意思了,那就用文件共享来控制?
运行起来以后在某处写个标记:我运行了
如果有这个标记那就别运行了
运行起来以后在某处写个标记:我运行了
如果有这个标记那就别运行了
#7
有没有高手指点一下哟..
#8
有没有高手指点一下哟..
#9
每天顶一贴,可有效防止蛀牙!
#10
这个是最简单的办法~~~
#11
很简单。程序启动后在注册表的一个位置写个标志位比如1表示已经运行了程序退出就填回0,这种是程序没有非法退出或者windows非法关机之类的情况下。建议最好是遍历进程,在程序启动的时候遍历进程,如果发现进程存在了就退出
#12
建一个临时表(只需一个字段,一条记录),表头格式自己设置一下,登录的时候判断一下数据库里有没有像这样的表就可以了。
#13
猴哥的蓝花又回来了啊
#14
呵呵 ,有没有一个认真点的呀...
#15
用标记的方法你不认为是一种简单可行的办法吗?
#16
遍历进程取特征这是最安全,最有效的方法了
#17
要是程序异常退出,来不及消除那个标记,那个标记还存在,就永远别想再启动程序了。
#18
结合app.previnstance啊
怎么就瞧不起app.previnstance 了?
楼上有些建议还是不错的
看你怎么用
既然听不进别人的话就别问
怎么就瞧不起app.previnstance 了?
楼上有些建议还是不错的
看你怎么用
既然听不进别人的话就别问
#19
要是程序异常退出,来不及消除那个标记,那个标记还存在,就永远别想再启动程序了。
==>
在于你怎么处理异常了!
以前我给mdb文件加密(其实是处理文件头,让access不认识这个文件),也会碰到类似的情况,之后只好在异常时都在处理这个加密过程了,这样就保证异常退出后,系统还能再次正常进入系统。
==>
在于你怎么处理异常了!
以前我给mdb文件加密(其实是处理文件头,让access不认识这个文件),也会碰到类似的情况,之后只好在异常时都在处理这个加密过程了,这样就保证异常退出后,系统还能再次正常进入系统。
#20
做成全局服务,无论如果只会运行一份。
如果需要本人可给你提供一个Demo。
如果需要本人可给你提供一个Demo。
#21
做标记的办法是可行的,也是最简单的,需要自己处理异常,但做成服务则可以不用管理这些
#22
if (NULL == CreateMutex(&sa, TRUE, _T("Global\\MyPrgName")))
{
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
//已经有用户运行啦, 退出
}
}
GetSystemMetrics() 可判断当前是否终端服务
#23
条条大道通罗马,依需而行~~~
#24
谢谢大家...问题解决,,,使用了CreateFile,CloseHandle两个API