Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

GUI z combobox'em


Requ

Rekomendowane odpowiedzi

Opublikowano

Witam

 

Chcę napisać GUI podobne do tego:

19447679.png

 

 

 

tzn. takie z combo w którym znajdują się procesy (w tym wypadku Wow.exe) i z którego w każdej chwili mogę wybrac proces i wybrać go aby to z niego program czytał informacje.

 

Na tą chwile mam to:

 

$fProcess = GUICreate("Select process", 150, 145, -1, -1, -1, $WS_EX_TOPMOST + $WS_EX_TOOLWINDOW)
GUISetFont(8, -1, -1, "Tahoma")

$cbProcess = GUICtrlCreateCombo("", 0, 0, 150, 20, 0x0003)

$bAttach = GUICtrlCreateButton("Select", 0, 20, 75, 21)
$bRefresh = GUICtrlCreateButton("Refresh", 75, 20, 75, 21)

GetProcessList()

GUISetState()
While 1
$MSG = GUIGetMsg()
Switch $MSG
	Case $GUI_EVENT_CLOSE
		Exit

	Case $bRefresh
		GetProcessList()

	Case $bAttach
		If $pList[0][0] > 0 Then
			$selectedPID = _GUICtrlComboBox_GetCurSel($cbProcess)
			$PID = $pList[$selectedPID + 1][1]
		EndIf
		RunConsole()
EndSwitch
WEnd

Func GetProcessList()
$pList = ProcessList("WoW.exe")
_GUICtrlComboBoxEx_ResetContent(GUICtrlGetHandle($cbProcess))
For $I = 1 To $pList[0][0]
	$_WoWBase = _MemoryModuleGetBaseAddress($pList[$I][1], "Wow.exe")
	$_hWoW = _MemoryOpen($pList[$I][1])
	$Name = _WinAPI_MultiByteToWideChar(_MemoryRead($_WoWBase + $PlayerName, $_hWoW, "char[50]"), 65001, 0, True)
	GUICtrlSetData($cbProcess, "#" & $pList[$I][1] & " - " & $Name, "#" & $pList[1][1] & " - " & $Name)
	_MemoryClose($_hWoW)
Next
EndFunc   ;==>GetProcessList

// Kod wstawiamy w code.

Protecto

 

Requiem for a Dream...

Weteran
Opublikowano

Sam pisałeś skrypt, czy przekopiowałeś wszystko z neta? ...

Skoro napisałeś taki skrypt to zrobienie spisu procesów nie powinno być dla ciebie problemem.

ProcessList, Guictrlcreatecombo..

1329036830-U154499.png
Opublikowano

Obczaj kodzik. :)

 

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$okno = GUICreate("Lista procesów", 286, 55, 192, 124)
$combo = GUICtrlCreateCombo("", 8, 16, 209, 25)
$ref = GUICtrlCreateButton("Ref", 224, 16, 57, 25)
GUISetState(@SW_SHOW)
ref()
While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
       Case $GUI_EVENT_CLOSE
           Exit
       Case $ref
           ref()
   EndSwitch
WEnd

Func ref()
   Local $list = ProcessList()
   $data = $list[1][0] & "(" & $list[1][1] & ")"
   For $i = 2 To $list[0][0]
       $data = $data & "|" & $list[$i][0] & "(" & $list[$i][1] & ")"
   Next
   GUICtrlSetData($combo, $data)
EndFunc   ;==>ref

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...