Quote:
Originally Posted by luli-1
Mh ich weiß nicht ob wir an einander vorbei reden oder ob ich hier grade grade einfach falsch denke. Also ich habe über process list wie du auch schon geschrieben hattest die nötigen infos zu meinem (in dem fall 8 progammen) rausgefunden.Da ich damit aber nur die pid und den titel zurück bekomme und die titel bei allen 8 gleich sind kann ich damit nichts anfangen. Also versuch ichs jetzt mit den pids. Jetzt ist meine frage wie ich mit den pids ein zurgiff auf das fenster bekomme (command) damit ich es auf hide setzen kann
weil z.b. WinSetState($list[$i][1]),"",@SW_HIDE) würde nicht funktionieren weil die methode mit titel arbeitet
und WinSetState($list[$i][0]),"",@SW_HIDE) würde nicht funktionieren weil alle fenster den gleichen titel haben und essomit nur eins davon anspricht
|
ich verstehe schon ganz genau was du machst... das problem, welches ich versuche dir zu erklären ist, das das leider sehr unsinnig ist...
man könnte deinen wunsch sicher so lösen:
Code:
Func getWindowHandlesFromPid($pid)
Local $index=0, $return[1]=[-1], $hwnds=WinList()
For $i=1 To $hwnds[0][0]
If WinGetProcess($hwnds[$i][1])=$pid Then
If $return[0]<>-1 Then
$inxdex = UBound($return)
ReDim $return[$index+1]
EndIf
$return[$index] = $hwnds[$i][1]
EndIf
Next
Return $return
EndFunc
das ganze führt aber wie bereits gesagt zu einer sinnlosen, exponentiellen aufwandssteigerung, da man auch von vornherein mit WinList arbeiten kann...
Quote:
Originally Posted by luli-1
ps: über windows info bekomm ich nicht viele infos raus zummindest keine die ich verwenden könnte
|
jedes fenster in windows besitzt einen titel und einen class-name. beides in kombination reicht IMMER aus ein fenster genau zu identifizieren.
arbeitet man mit fenster operationen, so sollte man immer über WinList starten, da es deutlich effizienter ist, einem fenster einen prozess zuzuordnen, als andersherum.
fenster->prozess <-- 1 befehl
prozess->fenster <-- n befehle (wobei n = anzahl aller geöffneten fenster)
man löst das ganze also entweder mit einem auszuführendem befehl oder mit sehr viel mehr ausführungen, so wie du es geplant hast...