你如果要这样的话。。。
'Form 代码=========================
private sub form_load
EnumWindows AddressOf EnumWindowsProc, ByVal 0&
End Sub
'Module代码========================
'Add this code to a module
Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Boolean
Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Function EnumWindowsProc(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
Dim sSave As String, Ret As Long
Ret = GetWindowTextLength(hwnd)
sSave = Space(Ret)
GetWindowText hwnd, sSave, Ret + 1
If Trim(sSave) = "Form2" Then '你程序的窗体名字
DebugPrint Str$(hwnd) + " " + sSave
msgbox "已经保了"
end
End If
'continue enumeration
EnumWindowsProc = True
End Function
你的意思是不是这样,假如A和B已经建立聊天窗口,然后不让再让A建立同样的另外一个窗口?
如果是的话,我想你可以这样,用一个List来保存已经创建的窗口,将创建人的IP放到服务器端,或者直接放到主程序中(保持存在性),每次创建新窗口的时候呢,去遍历一下,看看有没有相同的IP。当然,这种遍历效率比较低,人少的话还可以,人多了,那就惨了所以,你可以这样优化一下,按照不同的段,创建不同的索引方式,按索引查找,这样,效率会提高很多,但是系统开销就不少了,呵呵比如AList中保存0-50,BList中保存51-100
希望帮到你
当然能多开,而且不用什么多开器。
私服多开很容易,不用别的软件,你打开登录器后输入账号密码要不点登录,这时再打开一个登录器,输入另一个账号密码,然后分别点进入就行了(间隔要短)。
说明一下:
限制多开是根据进程来控制的,如果已经有游戏的进程,再有同样的进程出现就会受到限制,但是天龙的登录进程和进入游戏后的进程是不一样的,只要两个进程出现的时间间隔比较短,程序就无法检测到已有进程,这样就能实现多开了,此法不只限用于天龙,很多限多开的游戏都可以这样(前提是登录进程和游戏进程是分开的,并且不是根据IP地址来限制多开的那种)。
1、寻找游戏多开补丁,要谨慎哦,好多此类程序打着多开补丁的名称,其实是盗号程序,下载后,先杀毒。
2、安装虚拟机,比如vmware、virtual
pc,通过虚拟机多开游戏,需要电脑配置相当的高才可以,一般的电脑就算了。
对以双击时判断程序是不是运行,你可以在程序运行的时候在程序设置文件里写入一个字,然后每次程序启动都来判断这个值,这样一个boolean类型的值就可以帮你搞定这个问题了。但是这个值要变成一个复杂对象来保存,你也不像让人轻松的把你的程序破解掉把,也可以写注册表,但是这样就不能跨平台了。
第二个问题可以通过d对话框拉提示用户去点击,那个托盘图标。另外也许通过SystemTray这个类拿到系统托盘图标,然后调用这个托盘图标的方法,进而让程序出来。第二个方法我没有试验,仅供楼主参考,至于使用windows的api,楼主可以试试,但是我个人任务用Java跨平台语言做出不跨平台程序是不太可取的,你用windows api必然造成这种结果。
以上就是关于VB禁止程序多开全部的内容,包括:VB禁止程序多开、java防止窗口多开、天龙八部私服多开 怎么关掉限制多开等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)