Moin,
es ist zum Haare raufen... Ich habe eine simple ComboBox und möchte, sobald etwas in der ComboBox ausgewählt wird, mit der Auswahl weiterarbeiten. Das funktioniert auch soweit.
Jetzt möchte ich jedoch mittels ControlCommand etwas spezielles extrahieren und stelle mich dabei etwas blöde an...
Wie kriege ich aus der Auswahl die PID?! Der Mist beschäftigt mich unnötigerweise schon seit Wochen.
es ist zum Haare raufen... Ich habe eine simple ComboBox und möchte, sobald etwas in der ComboBox ausgewählt wird, mit der Auswahl weiterarbeiten. Das funktioniert auch soweit.
Jetzt möchte ich jedoch mittels ControlCommand etwas spezielles extrahieren und stelle mich dabei etwas blöde an...
Code:
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; GUI start
$Form1 = GUICreate("Form1", 160, 55, -1, -1)
$Combo1 = GUICtrlCreateCombo(" ", 8, 16, 145, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_COMMAND, "MY_WM_COMMAND")
; GUI ende
; PID-Liste start
$List = ProcessList()
For $i = 1 To $List[0][0]
GUICtrlSetData($Combo1, 'PID: ' & $List[$i][1])
Next
; PID-Liste ende
; Bla....
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
; WM-Command
Func MY_WM_COMMAND($hWnd, $msg, $wParam, $lParam)
Local $nNotifyCode = BitShift($wParam, 16)
Local $nID = BitAND($wParam, 0xFFFF)
Local $hCtrl = $lParam
Switch $nID
Case $Combo1
Switch $nNotifyCode
Case $CBN_SELCHANGE
MsgBox(0, 0, $List[ControlCommand(" ", "PID: ", $nID, "FindString", GUICtrlRead($nID)) + 1][1])
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>MY_WM_COMMAND