Nabend
Habe folgendes Problem und zwar habe ich mehrere Prozesse.Diese werden in Tab´s dargestellt. Nun möchte ich aber ein Stück weiter im Code aus dem Tabnamen wieder in eine id(prozess) zurückverwandeln.
Hier mal der Script
Spoiler anzeigen
;Fenster mit GUICtrlCreateTab. Ruft alle paar sekunden function _refresh auf
Func _refresh()
Dim $infoarray[1][1] = [["0"]]
Local $error = 0
_GUICtrlTab_DeleteAllItems($Tab1)
Sleep(50)
$sro_client = ProcessList("sro_client.exe")
If $sro_client[0][0] <> 0 Then
ReDim $infoarray[$sro_client[0][0] + 1][2]
$infoarray[0][0] = $sro_client[0][0]
EndIf
If $sro_client[0][0]= 0 Then
$TabSheet1 = GUICtrlCreateTabItem("Error")
GUICtrlCreateLabel("Kein Client",28, 42, 75, 25)
GUICtrlCreateTabItem("")
EndIf
For $i = 1 To $sro_client[0][0]
;_GUICtrlTab_InsertItem($Tab1,$i,"sro_client_"&$i)
GUICtrlCreateTabItem($sro_client[$i][0])
$HPbar = GUICtrlCreateProgress(67, 53, 230, 17)
$MPbar = GUICtrlCreateProgress(67, 85, 230, 17)
$Expbar = GUICtrlCreateProgress(67, 117, 230, 17)
GUICtrlCreateLabel("MP:", 35, 85, 23, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("HP:", 35, 53, 22, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Exp:", 35, 117, 25, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$HP = GUICtrlCreateLabel("0%", 171, 53, 19, 17)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$MP = GUICtrlCreateLabel("0%", 171, 85, 20, 17)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Exp = GUICtrlCreateLabel("0%", 171, 117, 22, 17)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Position:", 315, 53, 44, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("X:", 315, 77, 14, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateLabel("Y:", 315, 101, 14, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$X = GUICtrlCreateLabel("X", 347, 77, 11, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Y = GUICtrlCreateLabel("Y", 347, 101, 11, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateTabItem("")
Next
GUICtrlSetState($refresh,$GUI_FOCUS)
EndFunc ;==>refresh
Dafür bräucht ich also eine Fuction die wieder den Tabnamen in eine id umwandelt. Habe bereits goolge, die SuFu und vieles mehr benutzt, aber komme einfach nicht darauf. Habe nur aus einem anderen programm diese funktion als anhaltspunkt. Allerdings ist es für listview und nicht für tab´s habe versucht es umzustellen aber es ging nicht:
Spoiler anzeigen
Func gethwndpid($pid)
$selectedindex = ControlListView($gui, "", $processlist, "GetSelected")
If $selectedindex = "" Then
Return SetError(1)
Else
$ret = $infoarray[_GUICtrlListView_GetItemText($processlist, Int($selectedindex))][$pid]
If $pid = 0 Then
If Not IsHWnd($ret) Then Return SetError(2)
ElseIf Not ProcessExists($ret) Then
Return SetError(3)
EndIf
Return $ret
EndIf
EndFunc
Wie immer danke schon mal vorab an alle die helfen.