รบกวนด้วยนะครับแบบดึงจากapplicationsนะครับ
2 posters
ดึงไตเติ้ลเกมส์มาไว้ในGuicomboยังไงครับ
loveapple244- PSsix Member Super Class II
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
เปลี่ยนจากชื่อ notepad.exe เป็นชื่อไฟล์โปรแกรมที่ต้องการดึงข้อความไตเติลบาร์
- Code:
#include <Process.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$data =""
$list = WinList ()
For $i = 1 To $list[0][0]
If _ProcessGetName (WinGetProcess ($list[$i][0])) = "notepad.exe" Then $data &= $list[$i][0] & "|"
Next
$Form1 = GUICreate("PSsix", 268, 131, 192, 124)
$Combo1 = GUICtrlCreateCombo("", 24, 16, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData ($Combo1, $data )
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Form1
Case $Combo1
EndSwitch
WEnd
loveapple244- PSsix Member Super Class II
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011
อันนี้ลองดัดแปลงจากข้างบนเลยงง-*-ช่วยเสริมให้ทีครับควรจะใส่ยังไงอะไงดีงงไปหมดจากข้างบนพี่ดึง$list[$i][0]))แบบว่ามันแปลงจากprocessเป็นapiถูกต้องตามที่ถามแล้วแต่ยังติดว่าจะส่งcontrolsendไปยังไงจากข้างล่างนี้ก็ไม่ใช่ดึงprocessแต่เป็นการดึงไตเติ้ลของwinlistมา-*-งงมากแล้วพี่ช่วยทีจ้า-*-ไม่ใช่ไม่พยายามลองมาตั้งแต่พี่ให้ข้างบนมาแล้วแต่แก้ไม่เป็น-*-รู้สึกว่าพี่ดึงWinListมาแบ่งเป็นอาร์เรย์มึนตึ๊บ-*-
Local $list = WinList ("Asu") ;เปลี่ยนตรงนี้ให้เป็นprocessยังไงครับ เพราะAsuมันเป็นการอ่านค่าApiไงช่วยเสริมให้ทีนะครับ
;$list[0][0]คือจำนวนapi
;$list[1][0] Asuหน้าค่างที่1
;$list[2][0] Asuหน้าต่างที่2
For $i = 1 To $list[0][0]
If $list[$i][0] Then
ControlSend($list[1][0],"","","1")
ControlSend($list[2][0],"","","1")
EndIf
Next
หรือต้องเขียนแยกเป็น
For $i = 1 To $list[0][0]
If $list[0][0] Then
MsgBox($list,$list[0][0]) ไม่ผ่าน
EndIf
Next
For $i = 1 To $list[1][0]
If $list[1][0] Then
ControlSend($list[1][0],"","","1") ไม่ผ่าน
EndIf
Next
Local $list = WinList ("Asu") ;เปลี่ยนตรงนี้ให้เป็นprocessยังไงครับ เพราะAsuมันเป็นการอ่านค่าApiไงช่วยเสริมให้ทีนะครับ
;$list[0][0]คือจำนวนapi
;$list[1][0] Asuหน้าค่างที่1
;$list[2][0] Asuหน้าต่างที่2
For $i = 1 To $list[0][0]
If $list[$i][0] Then
ControlSend($list[1][0],"","","1")
ControlSend($list[2][0],"","","1")
EndIf
Next
หรือต้องเขียนแยกเป็น
For $i = 1 To $list[0][0]
If $list[0][0] Then
MsgBox($list,$list[0][0]) ไม่ผ่าน
EndIf
Next
For $i = 1 To $list[1][0]
If $list[1][0] Then
ControlSend($list[1][0],"","","1") ไม่ผ่าน
EndIf
Next
POS- PSsix
-
จำนวนข้อความ : 1152
ความนิยม : 326
เข้าร่วมเมื่อ : 19/07/2010
- Code:
#include <Process.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$data =""
$list = WinList ()
For $i = 1 To $list[0][0]
If _ProcessGetName (WinGetProcess ($list[$i][0])) = "notepad.exe" Then $data &= $list[$i][0] & "|"
Next
$Form1 = GUICreate("PSsix", 268, 131, 192, 124)
$Combo1 = GUICtrlCreateCombo("", 24, 16, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData ($Combo1, $data )
$Button1 = GUICtrlCreateButton("Button1", 180, 16, 75, 25)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Form1
Case $Button1
MsgBox(0,"",GUICtrlRead($Combo1))
ControlSend(GUICtrlRead($Combo1),"","Edit1","test")
EndSwitch
WEnd
|
|