|
楼主 |
发表于 2008-9-5 15:52:52
|
显示全部楼层
这样说吧,以下是第一部分出虚拟盘的脚本
#NoTrayIcon
$g_szVersion = "My Script 1.1"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)
HotKeySet("{Esc}","Exit_qout")
dim $test="K:"
dim $game="c:Program FilesCFsoft原调用.Exe"
Dim $path_l = "192.168.1.90"
dim $scsipath ="c:windowssystem32iscsicpl.cpl"
If Not FileExists ($scsipath) Then
MsgBox (48,"连接服务器"," 没有找到ISCSI客户端,不能连接到游戏服务器."&@CRLF&@CRLF&"您可以重启计算机,来尝试解决此问题.或者联系网吧管理员.",30)
Exit
EndIf
if FileExists ($test) Then
Sleep(1)
Else
$Main = GUICreate("飞衡网吧", 263, 120, -1, -1)
;~ GUISetBkColor(0xFFFFFF)
$Group1 = GUICtrlCreateGroup("", 8, 8, 249, 105)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$progress=GUICtrlCreateProgress(38,79,180,15)
GUICtrlSetColor(-1, 0x9999FF)
GUISetState(@SW_SHOW)
for $x = 1 To 6
GUICtrlCreateLabel("请稍候... 正在连接游戏服务器", 50, 30, 200, 15)
GUICtrlCreateLabel("第 次连接", 100, 60, 100, 15)
GUICtrlCreateLabel($x, 116, 60, 6, 15)
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlCreateLabel("按{E&SC}键中止连接", 84, 96, 150, 15)
For $m = 10 to 100 Step 10
GUICtrlSetData ($progress,$m)
Sleep(220)
IFTEST()
Next
RunWait(@ComSpec & " /c " & "iscsicli AddTargetPortal "&$path_l&" 3260", "",@SW_HIDE)
Run(@ComSpec & " /c " & "iscsicli LoginTarget iqn.2005-02.com.ricecake.iscsi:00 T * * * * * * * * * * * * * * * 0", "",@SW_HIDE)
IFTEST()
Next
if Not FileExists ($test) Then
MsgBox (48,"连接失败","无法连接到游戏服务器.可能是由于网络故障,或者服务器异常关闭."&@CRLF&@CRLF&"请尝试使用本机游戏 [E:网络游戏] 进行游戏,或者联系网吧管理员.")
Exit
EndIf
EndIf
Func Exit_qout()
Exit
EndFunc
Func IFTEST()
If FileExists ($test) Then
Sleep(1)
Exit
EndIf
EndFunc
因为我现在是配合讯闪菜单来用的,讯闪菜单执行游戏的时候,需要加载参数来运行。所以我又找到了带参数运行的脚本。就是下面这个。
If $cmdline[0] <> 0 Then
$filename = $cmdline[1]
if StringLeft($filename,1)="/" Then ;=======>去掉有的参数前加的"/"
$filename=StringMid($filename,2)
EndIf
$A=StringSplit($filename,"")
$WKPath=""
For $i=1 to $A[0]-1
$WKPath=$WKPath & $A[$i] & ""
Next
Run($filename,$WKPath,@SW_HIDE)
Else
MsgBox(64, "注意", '请带参数运行此程序')
EndIf
现在问题就出来了,出虚拟盘的脚本,需要等待出盘的时间。但是我把2个脚本结合放在一起的时候,它在还没有把虚拟盘读出的时候,带参数运行的脚本就已经运行终止了,所以没有把办法让游戏在带参数下正常运行起来,只有再运行一次讯闪菜单里的游戏才能把游戏正常运行起来。 |
|