如何写出个修改列表框 某个列表信息 代码 请教中。。。
本帖最后由 kswdiy 于 2010-2-1 09:27 编辑看截图就知道了 我要的问题了#AutoIt3Wrapper_Compression=4
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
Opt("TrayMenuMode",1)
$pei = @ScriptDir&"\config.ini"
$Form1 = GUICreate("IP DNS MAC 配置工具", 400, 200, -1, -1,_
BitOR($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$hListView = GUICtrlCreateListView(" 名 称 | IP地址 | 子网掩码 | 网 关 | 首选DNS | 备用DNS | MAC地址 |", _
10, 10, 380, 150,-1, BitOR($WS_EX_CLIENTEDGE,$LVS_EX_FULLROWSELECT,$LVS_REPORT))
$Button1 = GUICtrlCreateButton("配 置", 280, 170, 50, 20, $WS_GROUP)
$Button2 = GUICtrlCreateButton("退 出", 340, 170, 50, 20, $WS_GROUP)
$Button4= GUICtrlCreateCombo("",150, 170, 100, 20, $WS_GROUP)
$mingchen = IniReadSectionNames($pei)
GUICtrlSetData($Button4,GUICtrlRead($mingchen))
;添加右键菜单到列表框中
$zhucaidan = GUICtrlCreateContextMenu($hListView)
$tianjia = GUICtrlCreateMenuItem("添加", $zhucaidan)
$shanchu = GUICtrlCreateMenuItem("删除", $zhucaidan)
$xiugai = GUICtrlCreateMenuItem("修改", $zhucaidan)
$shuaxin = GUICtrlCreateMenuItem("刷新", $zhucaidan)
;读取配置并显示列表
$z = 0
_GUICtrlListView_DeleteAllItems($hListView)
$mingchen = IniReadSectionNames($pei)
If Not @error Then
For $i = 1 To $mingchen
GUICtrlCreateListViewItem($mingchen[$i], $hListView)
$IP = IniRead($pei,$mingchen[$i],"IP地址","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z+1)
$ziwangyama = IniRead($pei,$mingchen[$i],"子网掩码","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z+1)
$wangguan = IniRead($pei,$mingchen[$i],"网 关","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z+1)
$shouxuanDNS = IniRead($pei,$mingchen[$i],"首选DNS","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z+1)
$beiyongDNS= IniRead($pei,$mingchen[$i],"备用DNS","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z+1)
$MAC = IniRead($pei,$mingchen[$i],"MAC地址","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z+1)
$z += 1
Next
EndIf
;读取配置并显示列表结束
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $shanchu
shanchu()
Case $Button2
Tuichu()
Case $tianjia
tianjia()
Case $shuaxin
shuaxin()
Case $xiugai
xiugai()
EndSwitch
WEnd
Func shanchu()
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b,"|")
$a = MsgBox(32+1,"提示","请确认是否要删除以下数据 "&@CRLF&@CRLF&" 名 称:"&$chaifen&@CRLF&@CRLF&" IP地址:"&$chaifen&@CRLF&@CRLF& _
"子网掩码:"&$chaifen&@CRLF&@CRLF&" 网 关:"&$chaifen&@CRLF&@CRLF&"首选DNS:"&$chaifen&@CRLF&@CRLF& _
"备用DNS:"&$chaifen&@CRLF&@CRLF&"MAC地址:"&$chaifen)
If $a = 1 Then
_GUICtrlListView_DeleteItemsSelected($hListView) ;删除选定项目
IniDelete($pei,$chaifen)
$z = _GUICtrlListView_GetItemCount($hListView)
;MsgBox(48, "提示", "数据删除成功")
EndIf
EndFunc ;==>shanchu
Func tianjia()
GUISetState(@SW_DISABLE,$Form1)
$Form2 = GUICreate("请输入需要添加的数据", 380, 200, -1, -1, BitOR _
($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$Button11 = GUICtrlCreateButton("保存", 250, 150, 50, 30, $WS_GROUP)
$Button12 = GUICtrlCreateButton("退出", 320, 150, 50, 30, $WS_GROUP)
$Label1 = GUICtrlCreateLabel(" 名称:", 20, 23, 55, 17)
$Label2 = GUICtrlCreateLabel("IP地址:", 20, 53, 55, 17)
$Label3 = GUICtrlCreateLabel("子网掩码:", 20, 83, 55, 17)
$Label4 = GUICtrlCreateLabel(" 网关:", 20, 113, 55, 17)
$Label5 = GUICtrlCreateLabel(" 首选DNS:", 200, 23, 55, 17)
$Label6 = GUICtrlCreateLabel(" 备用DNS:", 200, 53, 55, 17)
$Label7 = GUICtrlCreateLabel(" MAC地址:", 200, 83, 55, 17)
$Input1 = GUICtrlCreateInput("", 80, 20, 100, 21)
$Input2 = GUICtrlCreateInput("", 80, 50, 100, 21)
$Input3 = GUICtrlCreateInput("", 80, 80, 100, 21)
$Input4 = GUICtrlCreateCombo("", 80, 110, 100, 21)
GUICtrlSetData(-1, "192.168.0.1|192.168.1.1", "192.168.1.1")
$Input5 = GUICtrlCreateInput("", 260, 20, 100, 21)
$Input6 = GUICtrlCreateInput("", 260, 50, 100, 21)
$Input7 = GUICtrlCreateInput("", 260, 80, 100, 21)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3,$Button12
GUISetState(@SW_ENABLE,$Form1) ;启用父窗口
GUIDelete($Form2) ;;删除指定窗口和它包含的所有控件.
ExitLoop
;Exit
Case $Button11
$z = _GUICtrlListView_GetItemCount($hListView)
$mingchen = GUICtrlRead($Input1)
$IP= GUICtrlRead($Input2)
$ziwangyama= GUICtrlRead($Input3)
$wangguan= GUICtrlRead($Input4)
$shouxuanDNS= GUICtrlRead($Input5)
$beiyongDNS= GUICtrlRead($Input6)
$MAC= GUICtrlRead($Input7)
If $mingchen <> "" And $IP <> "" Then
IniWrite($pei,$mingchen,"名称",$mingchen)
IniWrite($pei,$mingchen,"IP地址",$IP)
IniWrite($pei,$mingchen,"子网掩码",$ziwangyama)
IniWrite($pei,$mingchen,"网 关",$wangguan)
IniWrite($pei,$mingchen,"首选DNS",$shouxuanDNS)
IniWrite($pei,$mingchen,"备用DNS",$beiyongDNS)
IniWrite($pei,$mingchen,"MAC地址",$MAC)
GUICtrlCreateListViewItem($mingchen, $hListView)
; _GUICtrlListView_AddSubItem($hListView, $z, $mingchen, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z+1)
MsgBox(0,"保存成功"," 名称:"&$mingchen&@CRLF&@CRLF&" IP地址:" _
&$IP&@CRLF&@CRLF&"默认子网:"&$ziwangyama&@CRLF&@CRLF& _
" 网关:"&$wangguan&@CRLF&@CRLF&" 首选DNS:"&$shouxuanDNS&@CRLF&@CRLF& _
" 备用DNS:"&$beiyongDNS&@CRLF&@CRLF&" MAC地址:"&$MAC)
Else
MsgBox(64,"提示","请正确输入相关内容,否则无法添加项目!")
EndIf
EndSwitch
WEnd
Return shuaxin()
EndFunc
Func shuaxin()
$z = 0
_GUICtrlListView_DeleteAllItems($hListView)
$mingchen = IniReadSectionNames($pei)
If Not @error Then
For $i = 1 To $mingchen
GUICtrlCreateListViewItem($mingchen[$i], $hListView)
$IP = IniRead($pei,$mingchen[$i],"IP地址","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z+1)
$ziwangyama = IniRead($pei,$mingchen[$i],"子网掩码","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z+1)
$wangguan = IniRead($pei,$mingchen[$i],"网 关","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z+1)
$shouxuanDNS = IniRead($pei,$mingchen[$i],"首选DNS","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z+1)
$beiyongDNS= IniRead($pei,$mingchen[$i],"备用DNS","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z+1)
$MAC = IniRead($pei,$mingchen[$i],"MAC地址","没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z+1)
$z += 1
Next
EndIf
EndFunc
Func xiugai()
_GUICtrlListView_EditLabel($hListView, 0)
GUISetState(@SW_DISABLE,$Form1)
$Form2 = GUICreate("请输入需要添加的数据", 380, 200, -1, -1, BitOR _
($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$Button11 = GUICtrlCreateButton("保存", 250, 150, 50, 30, $WS_GROUP)
$Button12 = GUICtrlCreateButton("退出", 320, 150, 50, 30, $WS_GROUP)
$Label1 = GUICtrlCreateLabel(" 名称:", 20, 23, 55, 17)
$Label2 = GUICtrlCreateLabel("IP地址:", 20, 53, 55, 17)
$Label3 = GUICtrlCreateLabel("子网掩码:", 20, 83, 55, 17)
$Label4 = GUICtrlCreateLabel(" 网关:", 20, 113, 55, 17)
$Label5 = GUICtrlCreateLabel(" 首选DNS:", 200, 23, 55, 17)
$Label6 = GUICtrlCreateLabel(" 备用DNS:", 200, 53, 55, 17)
$Label7 = GUICtrlCreateLabel(" MAC地址:", 200, 83, 55, 17)
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b,"|")
$Input1 = GUICtrlCreateInput("", 80, 20, 100, 21)
GUICtrlSetData($Input1,GUICtrlRead($chaifen))
$Input2 = GUICtrlCreateInput("", 80, 50, 100, 21)
$Input3 = GUICtrlCreateInput("", 80, 80, 100, 21)
$Input4 = GUICtrlCreateInput("", 80, 110, 100, 21)
$Input5 = GUICtrlCreateInput("", 260, 20, 100, 21)
$Input6 = GUICtrlCreateInput("", 260, 50, 100, 21)
$Input7 = GUICtrlCreateInput("", 260, 80, 100, 21)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3,$Button12
GUISetState(@SW_ENABLE,$Form1) ;启用父窗口
GUIDelete($Form2) ;;删除指定窗口和它包含的所有控件.
ExitLoop
;Exit
Case $Button11
$z = _GUICtrlListView_GetItemCount($hListView)
$mingchen = GUICtrlRead($Input1)
$IP= GUICtrlRead($Input2)
$ziwangyama= GUICtrlRead($Input3)
$wangguan= GUICtrlRead($Input4)
$shouxuanDNS= GUICtrlRead($Input5)
$beiyongDNS= GUICtrlRead($Input6)
$MAC= GUICtrlRead($Input7)
If $mingchen <> "" And $IP <> "" Then
IniWrite($pei,$mingchen,"名称",$mingchen)
IniWrite($pei,$mingchen,"IP地址",$IP)
IniWrite($pei,$mingchen,"子网掩码",$ziwangyama)
IniWrite($pei,$mingchen,"网 关",$wangguan)
IniWrite($pei,$mingchen,"首选DNS",$shouxuanDNS)
IniWrite($pei,$mingchen,"备用DNS",$beiyongDNS)
IniWrite($pei,$mingchen,"MAC地址",$MAC)
GUICtrlCreateListViewItem($mingchen, $hListView)
; _GUICtrlListView_AddSubItem($hListView, $z, $mingchen, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z+1)
MsgBox(0,"保存成功"," 名称:"&$mingchen&@CRLF&@CRLF&" IP地址:" _
&$IP&@CRLF&@CRLF&"默认子网:"&$ziwangyama&@CRLF&@CRLF& _
" 网关:"&$wangguan&@CRLF&@CRLF&" 首选DNS:"&$shouxuanDNS&@CRLF&@CRLF& _
" 备用DNS:"&$beiyongDNS&@CRLF&@CRLF&" MAC地址:"&$MAC)
Else
MsgBox(64,"提示","请正确输入相关内容,否则无法添加项目!")
EndIf
EndSwitch
WEnd
Return shuaxin()
EndFunc
;退出
Func Tuichu()
GUISetState(@SW_HIDE)
FileDelete(@TempDir & "\*.exe") ;这行是退出后来的删除上面语句删除不起作用的情况下 万能的这句!
FileDelete(@TempDir & "\ResHacker.ini")
Exit
EndFunc ;==>Qu 就是在列表框中选中要重新修改的选项 如下:
然后弹出将选中的的数值 赋值到我自己建的的这个 窗口中对应的输入框中
请教大大们啊 就差这个不知道怎么写了 呵呵呵
谢谢诶。。。 你的这些数据保存在哪里呢? 发代码上来吧, 好吧 !!! 晕死啊 我都将源码发上来啊呵呵呵
没人啊 晕了
其实 这个是我浆糊加剪刀弄的 先解决 添加 删除 修改 代码再说吧。。。
希望有人帮忙解决a _GUICtrlListView_SetItemText :face (13):刚注意AFAN用的系统默认头像还有签名 你的这些数据保存在哪里呢?
jybb001 发表于 2010-1-31 18:21 http://www.autoitx.com/images/common/back.gif
配置文件里吧? 本帖最后由 飞龙三少 于 2010-2-1 01:25 编辑
以下是我写一个类似的配置工具时,采用的方法,给你参考参考:
1、在往列表框中添加Item时,采用GUICtrlCreateListViewItem,可以获得列表中每行记录的控件ID
2、在添加Item的同时,用一个2维数组用来存储各行记录的数据(名称、IP、子网掩码等),当然要多加一列用来记录1中返回的控件ID。
3、当要修改某行记录时,用GUICtrlRead ( 列表的控件ID ),可以获取列表框中被选中行的控件ID,通过这个被选中行的控件ID,可以在2创建的数组中获取到被选中行的各列数据,用GUICtrlSetData,就可以将这些数据预填入你的编辑框中了。
里面用到的各函数,参考AU3帮助文档。 _GUICtrlListView_GetItemText用来获取LISTVIEW的列表值
需要注意的是 列表的索引,就是修改的哪一个,别弄乱了。。 自己解决了呵呵很简单啊 可能被那个 赋值给误导了
就是在 这选定之后的右键后 将他们的各个值 用
_GUICtrlListView_GetSelectedIndices和_GUICtrlListView_GetItemTextString
还有StringSplit 这3个命令即刻 具体看我代码如下:Func xiugai()
GUISetState(@SW_DISABLE,$Form1)
$Form3 = GUICreate("请输入需要添加的数据", 380, 200, -1, -1, BitOR _
($WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_GROUP,$WS_BORDER,$WS_CLIPSIBLINGS))
$Button11 = GUICtrlCreateButton("保存", 250, 150, 50, 30, $WS_GROUP)
$Button12 = GUICtrlCreateButton("退出", 320, 150, 50, 30, $WS_GROUP)
$Label1 = GUICtrlCreateLabel(" 名称:", 20, 23, 55, 17)
$Label2 = GUICtrlCreateLabel("IP地址:", 20, 53, 55, 17)
$Label3 = GUICtrlCreateLabel("子网掩码:", 20, 83, 55, 17)
$Label4 = GUICtrlCreateLabel(" 网关:", 20, 113, 55, 17)
$Label5 = GUICtrlCreateLabel(" 首选DNS:", 200, 23, 55, 17)
$Label6 = GUICtrlCreateLabel(" 备用DNS:", 200, 53, 55, 17)
$Label7 = GUICtrlCreateLabel(" MAC地址:", 200, 83, 55, 17)
;此下列语句将将选定的列表框在$chaifen中拆分为每个单独的变量例如 $chaifen 就代表$mingcheng 变量所代表的值
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b,"|")
$Input1 = GUICtrlCreateInput("", 80, 20, 100, 21)
$Input2 = GUICtrlCreateInput("", 80, 50, 100, 21)
$Input3 = GUICtrlCreateInput("", 80, 80, 100, 21)
$Input4 = GUICtrlCreateInput("", 80, 110, 100, 21)
$Input5 = GUICtrlCreateInput("", 260, 20, 100, 21)
$Input6 = GUICtrlCreateInput("", 260, 50, 100, 21)
$Input7 = GUICtrlCreateInput("", 260, 80, 100, 21)
GUICtrlSetData($Input1,$chaifen)
GUICtrlSetData($Input2,$chaifen)
GUICtrlSetData($Input3,$chaifen)
GUICtrlSetData($Input4,$chaifen)
GUICtrlSetData($Input5,$chaifen)
GUICtrlSetData($Input6,$chaifen)
GUICtrlSetData($Input7,$chaifen)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3,$Button12
GUISetState(@SW_ENABLE,$Form1) ;启用父窗口
GUIDelete($Form3) ;;删除指定窗口和它包含的所有控件.
ExitLoop
;Exit
Case $Button11
$z = _GUICtrlListView_GetItemCount($hListView)
$mingchen = GUICtrlRead($Input1)
$IP= GUICtrlRead($Input2)
$ziwangyama= GUICtrlRead($Input3)
$wangguan= GUICtrlRead($Input4)
$shouxuanDNS= GUICtrlRead($Input5)
$beiyongDNS= GUICtrlRead($Input6)
$MAC= GUICtrlRead($Input7)
If $mingchen <> "" And $IP <> "" Then
IniWrite($pei,$mingchen,"名称",$mingchen)
IniWrite($pei,$mingchen,"IP地址",$IP)
IniWrite($pei,$mingchen,"子网掩码",$ziwangyama)
IniWrite($pei,$mingchen,"网 关",$wangguan)
IniWrite($pei,$mingchen,"首选DNS",$shouxuanDNS)
IniWrite($pei,$mingchen,"备用DNS",$beiyongDNS)
IniWrite($pei,$mingchen,"MAC地址",$MAC)
GUICtrlCreateListViewItem($mingchen, $hListView)
; _GUICtrlListView_AddSubItem($hListView, $z, $mingchen, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z+1)
MsgBox(0,"保存成功"," 名称:"&$mingchen&@CRLF&@CRLF&" IP地址:" _
&$IP&@CRLF&@CRLF&"默认子网:"&$ziwangyama&@CRLF&@CRLF& _
" 网关:"&$wangguan&@CRLF&@CRLF&" 首选DNS:"&$shouxuanDNS&@CRLF&@CRLF& _
" 备用DNS:"&$beiyongDNS&@CRLF&@CRLF&" MAC地址:"&$MAC)
Else
MsgBox(64,"提示","请正确输入相关内容,否则无法添加项目!")
EndIf
EndSwitch
WEnd
Return shuaxin()
EndFunc 说白的就是在每个输入框都给他赋值吧
使用
;此下列语句将将选定的列表框在$chaifen中拆分为每个单独的变量例如 $chaifen 就代表$mingcheng 变量所代表的值
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b,"|")
上面3行代码才是重点啊
]的这个然后在每个对应的输入框 设置赋上所选择的变量的值
例如:我将第一个值 也就是每个数值的第一个数值(默认是数据段名字吧。。)
GUICtrlSetData($Input1,$chaifen)
这样就会将对应的值赋值到对应的输入框中 绕了半天又回到老地方了 呵呵
惭愧 啊小菜是也莫笑啊 大家。。。。。 回复 12# kswdiy
_GUICtrlListView_AddSubItem ? 你这不是修改,是添加~ 而且,ini 文件里面也是添加新字段。
6# 回复 13# afan
也算 啊 我把他们全赋值到各自的 输入框中 修改其中几个 不就达到目的了吗??
俺是 小菜 要不 老大帮我我写一段修改的 源码啊 小弟在此谢谢了 回复 14# kswdiy
仅修改了你需要的部分,其它没看#AutoIt3Wrapper_Compression=4
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
Opt("TrayMenuMode", 1)
$pei = @ScriptDir & "\config.ini"
$gj = 210
$Form1 = GUICreate("IP DNS MAC 配置工具", 400 + $gj, 200, -1, -1, _
BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
$hListView = GUICtrlCreateListView(" 名 称 | IP地址 | 子网掩码 | 网 关 | 首选DNS | 备用DNS | MAC地址 |", _
10, 10, 380 + $gj, 150, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_FULLROWSELECT, $LVS_REPORT))
$Button1 = GUICtrlCreateButton("配 置", 280 + $gj, 170, 50, 20, $WS_GROUP)
$Button2 = GUICtrlCreateButton("退 出", 340 + $gj, 170, 50, 20, $WS_GROUP)
$Button4 = GUICtrlCreateCombo("", 150 + $gj, 170, 100, 20, $WS_GROUP)
$mingchen = IniReadSectionNames($pei)
GUICtrlSetData($Button4, GUICtrlRead($mingchen))
;添加右键菜单到列表框中
$zhucaidan = GUICtrlCreateContextMenu($hListView)
$tianjia = GUICtrlCreateMenuItem("添加", $zhucaidan)
$shanchu = GUICtrlCreateMenuItem("删除", $zhucaidan)
$xiugai = GUICtrlCreateMenuItem("修改", $zhucaidan)
$shuaxin = GUICtrlCreateMenuItem("刷新", $zhucaidan)
;读取配置并显示列表
$z = 0
_GUICtrlListView_DeleteAllItems($hListView)
$mingchen = IniReadSectionNames($pei)
If Not @error Then
For $i = 1 To $mingchen
GUICtrlCreateListViewItem($mingchen[$i], $hListView)
$IP = IniRead($pei, $mingchen[$i], "IP地址", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z + 1)
$ziwangyama = IniRead($pei, $mingchen[$i], "子网掩码", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z + 1)
$wangguan = IniRead($pei, $mingchen[$i], "网 关", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z + 1)
$shouxuanDNS = IniRead($pei, $mingchen[$i], "首选DNS", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z + 1)
$beiyongDNS = IniRead($pei, $mingchen[$i], "备用DNS", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z + 1)
$MAC = IniRead($pei, $mingchen[$i], "MAC地址", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z + 1)
$z += 1
Next
EndIf
;读取配置并显示列表结束
GUISetState(@SW_SHOW)
Dim $xg = 0
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $shanchu
shanchu()
Case $Button2
Tuichu()
Case $tianjia
tianjia()
Case $shuaxin
shuaxin()
Case $xiugai
xiugai()
If $xg = 1 Then MsgBox(64, "保存成功", "修改并保存成功!")
EndSwitch
WEnd
Func shanchu()
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b, "|")
$a = MsgBox(32 + 1, "提示", "请确认是否要删除以下数据 " & @CRLF & @CRLF & " 名 称:" & $chaifen & @CRLF & @CRLF & " IP地址:" & $chaifen & @CRLF & @CRLF & _
"子网掩码:" & $chaifen & @CRLF & @CRLF & " 网 关:" & $chaifen & @CRLF & @CRLF & "首选DNS:" & $chaifen & @CRLF & @CRLF & _
"备用DNS:" & $chaifen & @CRLF & @CRLF & "MAC地址:" & $chaifen)
If $a = 1 Then
_GUICtrlListView_DeleteItemsSelected($hListView) ;删除选定项目
IniDelete($pei, $chaifen)
$z = _GUICtrlListView_GetItemCount($hListView)
;MsgBox(48, "提示", "数据删除成功")
EndIf
EndFunc ;==>shanchu
Func tianjia()
GUISetState(@SW_DISABLE, $Form1)
$Form2 = GUICreate("请输入需要添加的数据", 380, 200, -1, -1, BitOR _
($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
$Button11 = GUICtrlCreateButton("保存", 250, 150, 50, 30, $WS_GROUP)
$Button12 = GUICtrlCreateButton("退出", 320, 150, 50, 30, $WS_GROUP)
$Label1 = GUICtrlCreateLabel(" 名称:", 20, 23, 55, 17)
$Label2 = GUICtrlCreateLabel("IP地址:", 20, 53, 55, 17)
$Label3 = GUICtrlCreateLabel("子网掩码:", 20, 83, 55, 17)
$Label4 = GUICtrlCreateLabel(" 网关:", 20, 113, 55, 17)
$Label5 = GUICtrlCreateLabel(" 首选DNS:", 200, 23, 55, 17)
$Label6 = GUICtrlCreateLabel(" 备用DNS:", 200, 53, 55, 17)
$Label7 = GUICtrlCreateLabel(" MAC地址:", 200, 83, 55, 17)
$Input1 = GUICtrlCreateInput("", 80, 20, 100, 21)
$Input2 = GUICtrlCreateInput("", 80, 50, 100, 21)
$Input3 = GUICtrlCreateInput("", 80, 80, 100, 21)
$Input4 = GUICtrlCreateCombo("", 80, 110, 100, 21)
GUICtrlSetData(-1, "192.168.0.1|192.168.1.1", "192.168.1.1")
$Input5 = GUICtrlCreateInput("", 260, 20, 100, 21)
$Input6 = GUICtrlCreateInput("", 260, 50, 100, 21)
$Input7 = GUICtrlCreateInput("", 260, 80, 100, 21)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3, $Button12
GUISetState(@SW_ENABLE, $Form1) ;启用父窗口
GUIDelete($Form2) ;;删除指定窗口和它包含的所有控件.
ExitLoop
;Exit
Case $Button11
$z = _GUICtrlListView_GetItemCount($hListView)
$mingchen = GUICtrlRead($Input1)
$IP = GUICtrlRead($Input2)
$ziwangyama = GUICtrlRead($Input3)
$wangguan = GUICtrlRead($Input4)
$shouxuanDNS = GUICtrlRead($Input5)
$beiyongDNS = GUICtrlRead($Input6)
$MAC = GUICtrlRead($Input7)
If $mingchen <> "" And $IP <> "" Then
IniWrite($pei, $mingchen, "名称", $mingchen)
IniWrite($pei, $mingchen, "IP地址", $IP)
IniWrite($pei, $mingchen, "子网掩码", $ziwangyama)
IniWrite($pei, $mingchen, "网 关", $wangguan)
IniWrite($pei, $mingchen, "首选DNS", $shouxuanDNS)
IniWrite($pei, $mingchen, "备用DNS", $beiyongDNS)
IniWrite($pei, $mingchen, "MAC地址", $MAC)
GUICtrlCreateListViewItem($mingchen, $hListView)
; _GUICtrlListView_AddSubItem($hListView, $z, $mingchen, 1, $z+1)
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z + 1)
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z + 1)
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z + 1)
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z + 1)
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z + 1)
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z + 1)
MsgBox(0, "保存成功", " 名称:" & $mingchen & @CRLF & @CRLF & " IP地址:" _
& $IP & @CRLF & @CRLF & "默认子网:" & $ziwangyama & @CRLF & @CRLF & _
" 网关:" & $wangguan & @CRLF & @CRLF & " 首选DNS:" & $shouxuanDNS & @CRLF & @CRLF & _
" 备用DNS:" & $beiyongDNS & @CRLF & @CRLF & " MAC地址:" & $MAC)
Else
MsgBox(64, "提示", "请正确输入相关内容,否则无法添加项目!")
EndIf
EndSwitch
WEnd
Return shuaxin()
EndFunc ;==>tianjia
Func shuaxin()
$z = 0
_GUICtrlListView_DeleteAllItems($hListView)
$mingchen = IniReadSectionNames($pei)
If Not @error Then
For $i = 1 To $mingchen
GUICtrlCreateListViewItem($mingchen[$i], $hListView)
$IP = IniRead($pei, $mingchen[$i], "IP地址", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $IP, 1, $z + 1)
$ziwangyama = IniRead($pei, $mingchen[$i], "子网掩码", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $ziwangyama, 2, $z + 1)
$wangguan = IniRead($pei, $mingchen[$i], "网 关", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $wangguan, 3, $z + 1)
$shouxuanDNS = IniRead($pei, $mingchen[$i], "首选DNS", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $shouxuanDNS, 4, $z + 1)
$beiyongDNS = IniRead($pei, $mingchen[$i], "备用DNS", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $beiyongDNS, 5, $z + 1)
$MAC = IniRead($pei, $mingchen[$i], "MAC地址", "没有找到!")
_GUICtrlListView_AddSubItem($hListView, $z, $MAC, 6, $z + 1)
$z += 1
Next
EndIf
EndFunc ;==>shuaxin
Func xiugai()
;_GUICtrlListView_EditLabel($hListView, 0)
GUISetState(@SW_DISABLE, $Form1)
$Form2 = GUICreate("请输入需要修改的数据", 380, 200, -1, -1, BitOR _
($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
$Button11 = GUICtrlCreateButton("保存", 250, 150, 50, 30, $WS_GROUP)
$Button12 = GUICtrlCreateButton("取消", 320, 150, 50, 30, $WS_GROUP)
$Label1 = GUICtrlCreateLabel(" 名称:", 20, 23, 55, 17)
$Label2 = GUICtrlCreateLabel("IP地址:", 20, 53, 55, 17)
$Label3 = GUICtrlCreateLabel("子网掩码:", 20, 83, 55, 17)
$Label4 = GUICtrlCreateLabel(" 网关:", 20, 113, 55, 17)
$Label5 = GUICtrlCreateLabel(" 首选DNS:", 200, 23, 55, 17)
$Label6 = GUICtrlCreateLabel(" 备用DNS:", 200, 53, 55, 17)
$Label7 = GUICtrlCreateLabel(" MAC地址:", 200, 83, 55, 17)
$a = _GUICtrlListView_GetSelectedIndices($hListView)
$b = _GUICtrlListView_GetItemTextString($hListView, Number($a))
$chaifen = StringSplit($b, "|")
$Input1 = GUICtrlCreateInput($chaifen, 80, 20, 100, 21)
$Input2 = GUICtrlCreateInput($chaifen, 80, 50, 100, 21)
$Input3 = GUICtrlCreateInput($chaifen, 80, 80, 100, 21)
$Input4 = GUICtrlCreateInput($chaifen, 80, 110, 100, 21)
$Input5 = GUICtrlCreateInput($chaifen, 260, 20, 100, 21)
$Input6 = GUICtrlCreateInput($chaifen, 260, 50, 100, 21)
$Input7 = GUICtrlCreateInput($chaifen, 260, 80, 100, 21)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3, $Button12
GUISetState(@SW_ENABLE, $Form1) ;启用父窗口
GUIDelete($Form2) ;;删除指定窗口和它包含的所有控件.
ExitLoop
;Exit
Case $Button11
$Index = _GUICtrlListView_GetSelectedIndices($hListView) ;获取被选的索引
$mingchen = GUICtrlRead($Input1)
$IP = GUICtrlRead($Input2)
$ziwangyama = GUICtrlRead($Input3)
$wangguan = GUICtrlRead($Input4)
$shouxuanDNS = GUICtrlRead($Input5)
$beiyongDNS = GUICtrlRead($Input6)
$MAC = GUICtrlRead($Input7)
If $mingchen <> "" And $IP <> "" Then ;这里还应该加入IP格式的判断才使软件有意义。
$msg = MsgBox(48 + 1, "确定修改?", " 名称:" & $mingchen & @CRLF & @CRLF & " IP地址:" _
& $IP & @CRLF & @CRLF & "默认子网:" & $ziwangyama & @CRLF & @CRLF & _
" 网关:" & $wangguan & @CRLF & @CRLF & " 首选DNS:" & $shouxuanDNS & @CRLF & @CRLF & _
" 备用DNS:" & $beiyongDNS & @CRLF & @CRLF & " MAC地址:" & $MAC & @CRLF & @CRLF & " 确定修改吗?")
If $msg = 1 Then
_GUICtrlListView_SetItemText($hListView, $Index, $mingchen, 0)
_GUICtrlListView_SetItemText($hListView, $Index, $IP, 1)
_GUICtrlListView_SetItemText($hListView, $Index, $ziwangyama, 2)
_GUICtrlListView_SetItemText($hListView, $Index, $wangguan, 3)
_GUICtrlListView_SetItemText($hListView, $Index, $shouxuanDNS, 4)
_GUICtrlListView_SetItemText($hListView, $Index, $beiyongDNS, 5)
_GUICtrlListView_SetItemText($hListView, $Index, $MAC, 6)
IniDelete($pei, $chaifen)
IniWrite($pei, $mingchen, "名称", $mingchen)
IniWrite($pei, $mingchen, "IP地址", $IP)
IniWrite($pei, $mingchen, "子网掩码", $ziwangyama)
IniWrite($pei, $mingchen, "网 关", $wangguan)
IniWrite($pei, $mingchen, "首选DNS", $shouxuanDNS)
IniWrite($pei, $mingchen, "备用DNS", $beiyongDNS)
IniWrite($pei, $mingchen, "MAC地址", $MAC)
$xg = 1;MsgBox(64, "保存成功", "修改并保存成功!")
GUISetState(@SW_ENABLE, $Form1) ;启用父窗口
GUIDelete($Form2) ;;删除指定窗口和它包含的所有控件.
ExitLoop
EndIf
Else
MsgBox(64, "提示", "请正确输入相关内容,否则无法修改项目!")
EndIf
EndSwitch
WEnd
;Return shuaxin()
EndFunc ;==>xiugai
;退出
Func Tuichu()
GUISetState(@SW_HIDE)
FileDelete(@TempDir & "\*.exe") ;这行是退出后来的删除上面语句删除不起作用的情况下 万能的这句!
FileDelete(@TempDir & "\ResHacker.ini")
Exit
EndFunc ;==>Tuichu
页:
[1]
2