|
  
|
1#
发表于 2007-4-22 07:19 PM
| 只看该作者
#include <GUIConstants.au3>
#include <GuiListView.au3>
#Include <GuiStatusBar.au3>
#include <Constants.au3>
#include <GuiList.au3>
#include <file.au3>
#Include <process.au3>
#include <string.au3>
#Include <date.au3>
Opt( "RunErrorsFatal", 0 ) ;防止执行程序出错被冲止
Opt("TrayIconHide",1) ;隐藏
Dim $all,$listview,$nesfi=@SystemDir,$wiyh,$wipas,$shulang
$tenor = ProcessList(@ScriptName)
If $tenor[0][0] > 1 Then
msgbox(0,"提示","已经有一个程序在运行",10)
Exit
EndIf
if @OSTYPE <> "WIN32_NT" then
MsgBox(0,"提示","本程序只支持NT/2000/XP/2003系统")
exit
EndIf
If Not FileExists(@ScriptDir&"\"&"xiaoqin.ini") Then
MsgBox(48,'提示','没有找到配置文件')
Exit
EndIf
$lq=qieMM( IniRead(@ScriptDir&"\"&"xiaoqin.ini",'参数','调用路径','') )
If FileExists($lq) Then
FileCopy($lq&'\xiaoqin.ini',@ScriptDir&"\xiaoqin.ini",1)
FileCopy($lq&'\game.db',@ScriptDir&"\game.db",1)
EndIf
$luxs=StringSplit(qieMM(IniRead(@ScriptDir&"\"&"xiaoqin.ini",'参数','存储路径','')), "=")
$yydaxi=qieMM(IniRead(@ScriptDir&"\"&"xiaoqin.ini",'参数','空间大小',''))
$cong=StringSplit($yydaxi, "|")
$sazl=StringSplit(qieMM(IniRead(@ScriptDir&"\"&"xiaoqin.ini",'参数','存档数量','')), "=")
If $luxs[0]<>2 Or $cong[0]<2 Or $sazl[0]<>2 Then
MsgBox(16,'警告','xiaoqin.ini配置文件被非法修改')
Exit
Else
$tlpass=StringSplit($cong[$cong[0]], "=")
If $tlpass[0]<>3 Then
MsgBox(16,'警告','xiaoqin.ini配置文件被非法修改')
Exit
ElseIf $luxs[2]<> $sazl[2] Or $luxs[2]<>$tlpass[3] Or $sazl[2]<>$tlpass[3] Then
MsgBox(16,'警告','xiaoqin.ini配置文件被非法修改')
Exit
Else
$luxing=$luxs[1]
$shulang=$sazl[1]
$zong=$tlpass[2]
$jibe=$tlpass[1]
EndIf
EndIf
;;;;;;;;;;;;;;;;;;;;;;登录界面
Local $a_PartsRightEdge[2] = [230, -1]
Local $a_PartsText[2] = ["总容量:"&$zong&" MB", "制作:小覃"]
win()
Func win()
$gui1=GUICreate ( "网吧私人保险柜 v3.0" ,300,178)
GUICtrlCreateGroup("", 5, 48, 290, 80);=大框
GUICtrlCreateLabel("用户名称:", 18, 70, 54, 25)
$name = GUICtrlCreateInput("", 72, 65, 150, 21);用户名输入框
GUICtrlSetFont (-1, 11)
GUICtrlCreateLabel("用户密码:", 18, 100, 54, 25)
$pass= GUICtrlCreateInput("", 72, 95, 150, 21,$ES_PASSWORD);用户密码输入框
GUICtrlSetFont (-1, 11)
$shuzhe=GUICtrlCreateLabel("注册帐号", 235, 65, 50,17,$SS_NOTIFY)
GUICtrlSetCursor(-1, 0);忘记密码的设置参数
GUICtrlSetColor(-1,0x0000FF);忘记密码的设置参数
GUICtrlSetTip ( -1, '注册新用户,空间大小是为'&$zong&'M' )
$wangqi=GUICtrlCreateLabel("忘记密码", 235, 85, 50,17,$SS_NOTIFY)
GUICtrlSetCursor(-1, 0);忘记密码的设置参数
GUICtrlSetColor(-1,0x0000FF);忘记密码的设置参数
GUICtrlSetTip ( -1, '忘记密码' )
$jiukai=GUICtrlCreateLabel("修改密码", 235, 105, 50,17,$SS_NOTIFY)
GUICtrlSetCursor(-1, 0);修改密码的设置参数
GUICtrlSetColor(-1,0x30000FF);修改密码的设置参数
GUICtrlSetTip ( -1, '修改密码' )
$OK=GUICtrlCreateButton("确 定", 80, 130, 50,25);按钮
$ESC=GUICtrlCreateButton( "取 消", 170, 130, 50,25);按钮
GUICtrlCreatePic(@ScriptDir&"\logo.jpg",1,1, 298,48 );=图片
_GUICtrlStatusBarCreate ($gui1, $a_PartsRightEdge, $a_PartsText)
GUICtrlSetColor(-1,0xE0FFFF)
GUICtrlSetState ($OK, $GUI_DEFBUTTON)
GUISetState ()
While 1
$msg = GUIGetMsg()
$mane=GUICtrlRead($name)
$bass=GUICtrlRead($pass)
Select
Case $msg = $OK ;用户登录
If $mane='' Or $bass='' Then
MsgBox(48,'提示','用户名或用户密码不能为空',0)
ElseIf FileExists($luxing&$mane)=0 Then
MsgBox(48,'提示','该用户未注册',0)
GUICtrlSetData ($name,"")
GUICtrlSetData ($pass,"")
ElseIf $bass<>qieMM(IniRead($luxing&$mane&"\users.dat","参数","用户密码","")) Then
MsgBox(48,'提示','用户名或用户密码不正确',0)
GUICtrlSetData ($pass,"")
Else
$redtj=qieMM(IniRead($luxing&$mane&"\users.dat","参数","用户等级",""))
$sesq=IniRead($luxing&$mane&"\users.dat","参数","注册时间","")
$relq=StringSplit($redtj, "=")
If $relq[0]=3 Then
If $relq[1]<>$mane Or $relq[3]<>$sesq Then
$tenxi='未知的等级'
Else
$tenxi=$relq[2]
EndIf
Else
$tenxi='未知的等级'
EndIf
FileInstall('D:\qin\ys.exe', $nesfi&'\ys.exe',1)
GUIDelete ($gui1)
yonghu($mane,jbfile($tenxi,$yydaxi),$luxing,$tenxi)
EndIf
Case $msg = $shuzhe;注册帐号
$reduser=qieMM(IniRead(@ScriptDir&"\"&"xiaoqin.ini",'参数','注册用户',''))
If $reduser='开放注册' Then
GUIDelete ($gui1)
logser($luxing,$jibe)
Else
MsgBox(48,'提示','目前停止注册',0)
EndIf
Case $msg = $wangqi ;忘记密码
GUIDelete ($gui1)
wangqimm1($luxing)
Case $msg = $jiukai ;修改密码
GUIDelete ($gui1)
xiukaimm($luxing)
Case $msg = $GUI_EVENT_CLOSE or $msg=$ESC
Exit
EndSelect
Wend
EndFunc
Func yonghu($yhm,$dx,$luqin,$jibie) ;上传下载准备操作
$gui2=GUICreate("“"&$yhm&"”的私人空间",425,397,-1,-1)
$Status = GUICtrlCreateLabel("", 0, 382, 425, 15,BitOR($SS_SUNKEN, $SS_CENTER))
$tab=GUICtrlCreateTab (-3,-2, 430,385,$TCS_FLATBUTTONS)
$tab0=GUICtrlCreateTabitem (" 私 人 存 储 ")
$listview = GUICtrlCreateListView("文件名称 |大小|上传时间 ", 6, 25, 413, 349)
GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES)
GUICtrlSendMsg($listview, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_FULLROWSELECT, $LVS_EX_FULLROWSELECT)
$search = FileFindFirstFile($luqin&$yhm&'\用户存储\*.rar')
If $search <> -1 Then
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$sname=StringTrimRight ($file, 4)
$emb=Round(FileGetSize($luqin&$yhm&'\用户存储\'&$file)/1048576,2)
$hs = FileGetTime($luqin&$yhm&'\用户存储\'&$file, 1)
$shutime=$hs[0]&'-'&$hs[1]&'-'&$hs[2]&' '&$hs[3]&':'&$hs[4]&':'&$hs[5]
GUICtrlCreateListViewItem($sname&'|'&$emb&'MB|'&$shutime, $listview)
WEnd
EndIf
FileClose($search)
$buttoncontext = GUICtrlCreateContextMenu($listview)
$up = GUICtrlCreateMenu("上 传",$buttoncontext)
$uppapers = GUICtrlCreateMenuitem("文 件",$up)
$upfolder = GUICtrlCreateMenuitem("文件夹",$up)
$down = GUICtrlCreateMenuitem("下 载",$buttoncontext)
$reanaw = GUICtrlCreateMenuitem("刷 新",$buttoncontext)
$del = GUICtrlCreateMenuitem("删 除",$buttoncontext)
$rea = GUICtrlCreateMenuitem("重命名",$buttoncontext)
$tab1=GUICtrlCreateTabitem (" 游 戏 存 档 ")
GUICtrlCreateLabel ("游戏列表名称:",10,30,100,15)
$rtys=GUICtrlCreateLabel ("",215,30,180,15)
$stsl=GUICtrlCreateLabel ("可存"&$shulang&'个档',350,30,100,15)
$uy1=GUICtrlCreateList ("", 5,45,205, 315)
$uy2=GUICtrlCreateList ("", 215,45,205, 330)
$uptouy1 = GUICtrlCreateContextMenu($uy1)
$upgame = GUICtrlCreateMenuitem("上传",$uptouy1)
GUICtrlCreateLabel("关键词:", 5, 360,50,15)
$input = GUICtrlCreateInput("", 50, 355, 80, 20)
GUICtrlSetTip (-1, '游戏查找,输入关键词回车既可')
$button = GUICtrlCreateButton("搜索", 130, 355, 40, 20)
$button1 = GUICtrlCreateButton("下一个", 170, 355, 40, 20)
$uptouy2 = GUICtrlCreateContextMenu($uy2)
$downgame = GUICtrlCreateMenuitem("下载",$uptouy2)
$delgame = GUICtrlCreateMenuitem("删除",$uptouy2)
$reagame = GUICtrlCreateMenuitem("改名",$uptouy2)
Dim $bs
If _FileReadToArray(@ScriptDir&'\game.db',$bs) Then
For $a = 1 to $bs[0]
$ay=StringSplit($bs[$a], "]")
If $ay[0]<>0 Then
If StringLeft($ay[1], 1)='[' Then
GUICtrlSetData($uy1,StringTrimLeft($ay[1], 1))
EndIf
EndIf
Next
EndIf
GUISetState (@SW_SHOW)
$hy=Round(DirGetSize($luqin&$yhm&'\用户存储\')/1048576,2)
GUICtrlSetData($Status, "用户等级:"&$jibie&" 空间大小:"&$dx&"M 已用大小:"&$hy&"M")
IniWrite ($luqin&$yhm&"\users.dat","参数", "最后登录", _NowDate())
GUICtrlSetState ($button, $GUI_DEFBUTTON)
$y=-1
While 1
$msg = GUIGetMsg()
Select
Case $msg = $uppapers
$Fileup = FileOpenDialog("请选择文件",'', "All(*.*)",1)
If $Fileup<>"" Then
$wxm=StringSplit(formatPath2($Fileup), "\")
GUIDelete ($gui2)
up($luqin&$yhm , formatPath2($Fileup) , $wxm[$wxm[0]] , $dx ,$yhm,$dx,$luqin,$jibie)
EndIf
Case $msg = $upfolder
$xianup = FileSelectFolder("请选择文件夹", "",0,'')
If $xianup<>"" Then
$xiam=StringSplit(formatPath2($xianup), "\")
GUIDelete ($gui2)
up($luqin&$yhm , formatPath2($xianup) , $xiam[$xiam[0]] , $dx ,$yhm,$dx,$luqin,$jibie)
EndIf
Case $msg = $down
$downm=_GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
If $downm<>'' Then
$regd=RegRead("HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer","Download Directory")
$Filedown = FileSelectFolder("下载文件", "",7,$regd)
If $Filedown<>"" Then
RegWrite ( "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer","Download Directory", "REG_SZ", $Filedown)
GUIDelete ($gui2)
down($luqin&$yhm , $downm , formatPath2($Filedown) ,$yhm,$dx,$luqin,$jibie)
EndIf
EndIf
Case $msg = $reanaw
$hy1=Round(DirGetSize($luqin&$yhm&'\用户存储\')/1048576,2)
GUICtrlSetData($Status, "“"&$yhm&"”的私人空间(已使用"&$hy1&"M 总容量"&$dx&"M)")
_GUICtrlListViewDeleteAllItems ($listview)
$search = FileFindFirstFile($luqin&$yhm&'\用户存储\*.rar')
If $search <> -1 Then
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$sname=StringTrimRight ($file, 4)
$emb=Round(FileGetSize($luqin&$yhm&'\用户存储\'&$file)/1048576,2)
$hs = FileGetTime($luqin&$yhm&'\用户存储\'&$file, 1)
$shutime=$hs[0]&'-'&$hs[1]&'-'&$hs[2]&' '&$hs[3]&':'&$hs[4]&':'&$hs[5]
GUICtrlCreateListViewItem($sname&'|'&$emb&'MB|'&$shutime, $listview)
WEnd
EndIf
FileClose($search)
Case $msg = $del
$st=_GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
If $st<>'' Then
$yeng=MsgBox(0+4,'提示','确认删除 '&$st,0)
If $yeng=6 Then
FileDelete($luqin&$yhm&'\用户存储\'&$st&'.rar')
Sleep(500)
If FileExists($luqin&$yhm&'\用户存储\'&$st&'.rar') Then
MsgBox(16,'警告','删除无效,文件正在被另一个人或程序使用')
Else
_GUICtrlListViewDeleteItemsSelected ($listview)
$hy2=Round(DirGetSize($luqin&$yhm&'\用户存储\')/1048576,2)
GUICtrlSetData($Status, "“"&$yhm&"”的私人空间(已使用"&$hy2&"M 总容量"&$dx&"M)")
EndIf
EndIf
EndIf
Case $msg = $rea
$st=_GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0)
If $st<>'' Then
$gui10=GUICreate("文件重命名",210,62,-1,-1,$WS_SYSMENU)
GUICtrlCreateLabel("名称:",5, 8, 40, 15)
$in=GUICtrlCreateInput ( $st,40, 5, 118, 20)
$readname = GUICtrlCreateButton("确定", 160, 5, 40, 20)
GUICtrlSetState ($readname, $GUI_DEFBUTTON)
GUISetState (@SW_SHOW)
While 1
$ms = GUIGetMsg()
$ipn=GUICtrlRead($in)
If $ms= $GUI_EVENT_CLOSE Then
GUIDelete ($gui10)
ExitLoop
EndIf
If $ms= $readname Then
If $ipn='' Then
MsgBox(0,'错误','文件名不能为空',0)
Else
If FileExists($luqin&$yhm&'\用户存储\'&$ipn&'.rar') Then
MsgBox(48,'提示','该名称已存在',0)
Else
FileMove($luqin&$yhm&'\用户存储\'&$st&'.rar', $luqin&$yhm&'\用户存储\'&$ipn&'.rar',0)
Sleep(500)
If FileExists($luqin&$yhm&'\用户存储\'&$ipn&'.rar')=0 And FileExists($luqin&$yhm&'\用户存储\'&$st&'.rar') Then
MsgBox(16,'警告','重命名无效,文件正在被另一个人(程序)使用或文件名包含非法字符',0)
Else
$id=_GUICtrlListViewGetSelectedIndices($listview)
_GUICtrlListViewSetItemText ($listview, $id, 0, $ipn)
GUIDelete ($gui10)
ExitLoop
EndIf
EndIf
EndIf
EndIf
Wend
EndIf
Case $msg = $upgame;上传游戏存档
$ret = _GUICtrlListGetText ($uy1, _GUICtrlListSelectedIndex ($uy1))
If $ret<>-1 Then
If $shulang-_GUICtrlListGetInfo ($uy2) <= 0 Then
MsgBox(48,'提示','每个游戏存档数量不能超过'&$shulang&'个',0)
Else
DirCreate ($luqin&$yhm&'\游戏存档\'&$ret)
$wj=@YEAR&@MON&@MDAY&@HOUR&@MIN&@SEC
$wd=IniReadSection(@ScriptDir&'\game.db',$ret)
$gsa= IniRead (@ScriptDir&'\game.db', $ret, "存档路径", "" )
$bsa=IniRead (@ScriptDir&'\game.db', $ret, "排除路径", "" )
$tpmesa=_TempFile()
$tpmeba=_TempFile()
If $gsa<>'' Then
$sa=StringSplit($gsa, '|')
For $w = 1 To $sa[0]
FileWrite ($tpmesa, '"'&formatPath2($sa[$w])&'" ')
Next
$yyw=FileReadLine ($tpmesa, 1)
Else
ExitLoop
EndIf
If $bsa<>'' Then
$ba=StringSplit($bsa, '|')
For $u = 1 To $ba[0]
FileWrite ($tpmeba, '-x"'&formatPath2($ba[$u])&'" ')
Next
$yyb=FileReadLine($tpmeba, 1)
Else
$yyb='-x '
EndIf
FileDelete ($tpmesa)
FileDelete ($tpmeba)
If $yyw<>'' Then
$gui8=GUICreate("上传存档",355,110,-1,-1,$WS_SYSMENU)
$jindutao = GUICtrlCreateProgress (10,50,293,20)
GUICtrlCreateLabel("正在上传游戏存档,请稍候……", 10, 20, 230, 20)
GUICtrlSetFont (-1,12)
$Statustao = GUICtrlCreateLabel(" 0%", 308, 51, 100, 20)
GUICtrlSetFont ($Statustao,11)
GUISetState ()
$redcmd = Run(@ComSpec & ' /c '&$nesfi&'\ys a "'&$luqin&$yhm&'\游戏存档\'&$ret&'\'&$wj&'.rar" -y '&$yyb&$yyw, @SystemDir, @SW_HIDE, $STDOUT_CHILD) ;压缩
ProcessWait ('ys.exe',60)
$xk=0
Do
$msg = GUIGetMsg()
$PID=ProcessExists("ys.exe")
If $PID=0 Then
If FileExists($luqin&$yhm&'\游戏存档\'&$ret&'\'&$wj&'.rar')=0 Then
MsgBox(48,'错误','无法上传该文件',0)
GUIDelete ($gui8)
ExitLoop
Else
$xk=100
GUICtrlSetData ($jindutao,$xk)
GUICtrlSetData($Statustao,$xk&'%')
GUICtrlSetData($uy2,$wj&'.rar')
GUICtrlSetData($stsl,'可存'&$shulang-_GUICtrlListGetInfo ($uy2)&'个档')
GUIDelete ($gui8)
ExitLoop
EndIf
EndIf
$bshi=StringSplit(StdoutRead($redcmd), "%")
If $bshi[0]=2 Then
$xk=StringRight ($bshi[1], 3)
If $xk = 100 Then
GUICtrlSetData ($jindutao,$xk)
GUICtrlSetData($Statustao,$xk&'%')
GUICtrlSetData($uy2,$wj&'.rar')
GUICtrlSetData($stsl,'可存'&$shulang-_GUICtrlListGetInfo ($uy2)&'个档')
ProcessClose('ys.exe')
GUIDelete ($gui8)
ExitLoop
Else
GUICtrlSetData ($jindutao,$xk)
GUICtrlSetData($Statustao,$xk&'%')
EndIf
EndIf
If $msg = $GUI_EVENT_CLOSE Then
$dlj=MsgBox(0+4,'提示','正在上传游戏存档,确定退出?',0)
If $dlj=6 Then
ProcessClose('ys.exe')
ProcessWaitClose ('ys.exe', 60)
Sleep(200)
FileDelete ($luqin&$yhm&'\游戏存档\'&$ret&'\'&$wj&'.rar')
GUIDelete ($gui8)
ExitLoop
EndIf
EndIf
Until $xk=100
EndIf
EndIf
EndIf
Case $msg = $downgame;下载游戏存档
$rot = _GUICtrlListGetText ($uy2, _GUICtrlListSelectedIndex ($uy2))
If $rot<>-1 Then
$goa=IniRead (@ScriptDir&'\game.db', $frer, "存档路径", "" )
If $goa<>'' Then
$gui11=GUICreate("下载存档",355,160,-1,-1,$WS_SYSMENU)
$jindutao2 = GUICtrlCreateProgress (10,50,293,20)
$jindutao = GUICtrlCreateProgress (10,90,293,20,$PBS_SMOOTH)
GUICtrlSetColor(-1, 32250)
GUICtrlCreateLabel("正在下载游戏存档,请稍候……", 10, 20, 230, 20)
GUICtrlSetFont (-1,12)
$Statustao2 = GUICtrlCreateLabel("0%", 308, 51, 100, 20)
$Statustao = GUICtrlCreateLabel("0%", 308, 91, 100, 20)
GUICtrlSetFont ($Statustao,11)
GUISetState ()
$xsa=StringSplit($goa, '|')
$tempba=_TempFile()
$d=0
For $y= 1 To $xsa[0]
$banfu=StringLeft ($xsa[$y], 1 )
If StringInStr (FileReadLine ($tempba, 1), $banfu)=0 Then
FileWrite ($tempba, $banfu)
$redcmd = Run(@ComSpec & ' /c '&$nesfi&'\ys x "'&$luqin&$yhm&'\游戏存档\'&$frer&'\'&$rot&'" -y -o+ '&$banfu&':\', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
ProcessWait ('ys.exe',60)
$xj=0
Do
$msg = GUIGetMsg()
$PID=ProcessExists("ys.exe")
If $PID=0 Then
$xj=100
GUICtrlSetData ($jindutao,$xj)
GUICtrlSetData($Statustao,$xj&'%')
ExitLoop
EndIf
$bshi=StringSplit(StdoutRead($redcmd), "%")
If $bshi[0]=2 Then
$xj=StringRight ($bshi[1], 2)
If $xj < 0 Or $xj > 100 Then
GUICtrlSetData ($jindutao,$xj)
GUICtrlSetData($Statustao,$xj&'%')
Else
GUICtrlSetData ($jindutao,$xj)
GUICtrlSetData($Statustao,$xj&'%')
EndIf
EndIf
If $msg = $GUI_EVENT_CLOSE Then
$dlj=MsgBox(0+4,'提示','正在下载游戏存档,确定退出?',0)
If $dlj=6 Then
ProcessClose('ys.exe')
ExitLoop
EndIf
EndIf
Until $xj=100
EndIf
$d=$d+1
$s=Round( $d/$xsa[0]*100, 0)
GUICtrlSetData ($jindutao2,$s)
GUICtrlSetData($Statustao2,$s&'%')
Next
FileDelete ($tempba)
GUIDelete ($gui11)
EndIf
EndIf
Case $msg = $delgame;删除游戏存档
$det =_GUICtrlListSelectedIndex ($uy2)
$sdet=_GUICtrlListGetText ($uy2, $det)
If $det<>-1 Then
$yeng=MsgBox(0+4,'提示','确认删除 '&$sdet)
If $yeng=6 Then
FileDelete($luqin&$yhm&'\游戏存档\'&$frer&'\'&$sdet)
Sleep(500)
If FileExists($luqin&$yhm&'\游戏存档\'&$frer&'\'&$sdet) Then
MsgBox(16,'警告','删除无效,文件正在被另一个人或程序使用')
Else
_GUICtrlListDeleteItem ($uy2, $det)
GUICtrlSetData($stsl,'可存'&$shulang-_GUICtrlListGetInfo ($uy2)&'个档')
EndIf
EndIf
EndIf
Case $msg = $reagame;攸改游戏存档名称
$ren =_GUICtrlListSelectedIndex ($uy2)
$sren=_GUICtrlListGetText ($uy2, $ren)
If $ren<>-1 Then
$gui9=GUICreate("改名",210,62,-1,-1,$WS_SYSMENU)
GUICtrlCreateLabel("名称:",5, 8, 40, 15)
$int=GUICtrlCreateInput ( StringTrimRight ($sren,4),40, 5, 118, 20)
$ko = GUICtrlCreateButton("确定", 160, 5, 40, 20)
GUICtrlSetState ($ko, $GUI_DEFBUTTON)
GUISetState (@SW_SHOW)
While 1
$ms = GUIGetMsg()
$ibn=GUICtrlRead($int)
If $ms= $GUI_EVENT_CLOSE Then
GUIDelete ($gui9)
ExitLoop
EndIf
If $ms= $ko Then
If $ibn='' Then
MsgBox(0,'错误','名称不能为空',0)
Else
If FileExists($luqin&$yhm&'\游戏存档\'&$frer&'\'&$ibn&'.rar') Then
MsgBox(48,'提示','该名称已存在',0)
Else
FileMove($luqin&$yhm&'\游戏存档\'&$frer&'\'&$sren, $luqin&$yhm&'\游戏存档\'&$frer&'\'&$ibn&'.rar',0)
Sleep(500)
If FileExists($luqin&$yhm&'\游戏存档\'&$frer&'\'&$ibn&'.rar')=0 And FileExists($luqin&$yhm&'\游戏存档\'&$frer&'\'&$sren) Then
MsgBox(16,'警告','重命名无效,文件正在被另一个人(程序)使用或文件名包含非法字符',0)
Else
_GUICtrlListReplaceString ($uy2 , $ren , $ibn&'.rar')
GUIDelete ($gui9)
ExitLoop
EndIf
EndIf
EndIf
EndIf
Wend
EndIf
Case $msg = $button ;搜索游戏
$rf=GUICtrlRead($input)
If $rf='' Then
MsgBox(48, "提示", '请输入关键词')
Else
If namefile($rf,$uy1,0)<>-1 Then
_GUICtrlListSelectIndex ($uy1, namefile($rf,$uy1,0))
Dim $y=namefile($rf,$uy1,0)
Else
MsgBox(48, "提示", '对不起!找不到“'&$rf&'”')
EndIf
EndIf
Case $msg = $button1 ;搜索下一个游戏
If $y=-1 Then
MsgBox(48, "提示", "请先搜索")
Else
If GUICtrlRead($input)='' Or GUICtrlRead($input)<>$rf Then
MsgBox(48, "提示", "请先搜索")
$y=-1
Else
$y=$y+1
If namefile($rf,$uy1,$y)<>-1 Then
_GUICtrlListSelectIndex ($uy1, namefile($rf,$uy1,$y))
EndIf
EndIf
EndIf
Case $msg = $GUI_EVENT_CLOSE
FileDelete ($nesfi&'\ys.exe')
Exit
Case $msg = $GUI_EVENT_PRIMARYDOWN
$pos = GUIGetCursorInfo()
If IsArray($pos) Then
If ($pos[4] == $listview) Then
GUICtrlSetTip($listview,_GUICtrlListViewGetItemText($listview, _GUICtrlListViewGetSelectedIndices($listview), 0))
EndIf
EndIf
Case $msg = $uy1
_GUICtrlListClear ($uy2) $rert = _GUICtrlListGetText ($uy1, _GUICtrlListSelectedIndex ($uy1))
If ($rert == $LB_ERR) Then
Else
GUICtrlSetData($rtys, $rert&'列表:')
$sear = FileFindFirstFile($luqin&$yhm&'\游戏存档\'&$rert&'\*.rar')
If $sear <> -1 Then
While 1
$filk = FileFindNextFile($sear)
If @error Then ExitLoop
GUICtrlSetData($uy2,$filk)
WEnd
EndIf
FileClose($sear)
EndIf
GUICtrlSetData($stsl,'可存'&$shulang-_GUICtrlListGetInfo ($uy2)&'个档')
Dim $frer=$rert EndSelect WendEndFunc
; 用户路径 原文件 目标文件 总大小 返回原值
Func up($yonglq , $yanwx , $mubaowx , $zmb ,$yhm6,$dx6,$luqin6,$jibie6)
$gui6=GUICreate("上传文件",355,110,-1,-1,$WS_SYSMENU)
$jindu = GUICtrlCreateProgress (10,50,293,20) GUICtrlCreateLabel("正在上传文件,请稍候……", 10, 20, 200, 20)
GUICtrlSetFont (-1,12)
$Status = GUICtrlCreateLabel(" 0%", 308, 51, 100, 20)
GUICtrlSetFont ($Status,11) GUISetState ()
$ymb=Round(DirGetSize($yonglq&'\用户存储')/1048576,2)
$qsdx=FileGetSize($yanwx)/1048576
If $qsdx=0 Then $qsdx=DirGetSize($yanwx)/1048576
$ydx=Round($qsdx,2)
If $ymb > $zmb Or $ymb = $zmb Then
MsgBox(48,'提示','用户空间已满,请删除一些文件再上传')
GUIDelete ($gui6)
yonghu($yhm6,$dx6,$luqin6,$jibie6)
ElseIf $ymb+$ydx > $zmb Then
MsgBox(48,'提示','你的空间已经容不下该文件,请删除一些文件再上传')
GUIDelete ($gui6)
yonghu($yhm6,$dx6,$luqin6,$jibie6)
ElseIf FileExists($yonglq&'\用户存储\'&$mubaowx&'.rar') Then
$rs=MsgBox(48+4,'提示','你的空间已存在该文件,是否替换?')
If $rs=6 Then FileDelete ($yonglq&'\用户存储\'&$mubaowx&'.rar')
IniDelete ($yonglq&'\data.db', "私人存档",$mubaowx)
Else
GUIDelete ($gui6)
yonghu($yhm6,$dx6,$luqin6,$jibie6)
EndIf
EndIf
$redcmd = Run(@ComSpec & ' /c '&$nesfi&'\ys a "'&$yonglq&'\用户存储\'&$mubaowx&'.rar"'&' -ep1 -m0 -hpQ147241793 -y "'&$yanwx&'"', @SystemDir, @SW_HIDE, $STDOUT_CHILD) ;压缩
ProcessWait ('ys.exe',60) $xh=0
Do $msg = GUIGetMsg() $PID=ProcessExists("ys.exe")
If $PID=0 Then
If FileExists($yonglq&'\用户存储\'&$mubaowx&'.rar')=0 Then
MsgBox(48,'错误','无法上传该文件',0)
GUIDelete ($gui6) yonghu($yhm6,$dx6,$luqin6,$jibie6) Else
$xh=100
GUICtrlSetData ($jindu,$xh)
GUICtrlSetData($Status,$xh&'%')
MsgBox(0,'提示','上传已经完成',0)
GUIDelete ($gui6) yonghu($yhm6,$dx6,$luqin6,$jibie6)
EndIf
EndIf
$bshi=StringSplit(StdoutRead($redcmd), "%")
If $bshi[0]=2 Then
$xh=StringRight ($bshi[1], 3)
If $xh = 100 Then GUICtrlSetData ($jindu,$xh) GUICtrlSetData($Status,$xh&'%')
MsgBox(0,'提示','上传已经完成',0)
ProcessClose('ys.exe')
GUIDelete ($gui6)
yonghu($yhm6,$dx6,$luqin6,$jibie6)
Else
GUICtrlSetData ($jindu,$xh) GUICtrlSetData($Status,$xh&'%')
EndIf EndIf
If $msg = $GUI_EVENT_CLOSE Then
$dlj=MsgBox(0+4,'提示','正在下载中,确定退出?',0)
If $dlj=6 Then
ProcessClose('ys.exe') ProcessWaitClose ('ys.exe', 60)
Sleep(200) FileDelete ($yonglq&'\用户存储\'&$mubaowx&'.rar')
GUIDelete ($gui6) yonghu($yhm6,$dx6,$luqin6,$jibie6)
EndIf
EndIf
Until $xh=100 EndFunc |
感谢Baidu,Google,Dreams8给我这次机会!
还要感谢我的爸爸妈妈!
HOHO |
|