Könnte mir nochmal jmd sage wie ich eine anwendung(fenter)in meine Gui bekomme ?!?!
Danke
Anwendung
-
- [ gelöst ]
-
Detroit49 -
26. August 2010 um 01:31 -
Geschlossen -
Erledigt
-
-
wie n fenster?
-
also ich habe ne mediaplayer auf und diese lichtspiele das möchte ich in 200x200 in meiner gui drinne haben
-
also ich habe ne mediaplayer auf und diese lichtspiele das möchte ich in 200x200 in meiner gui drinne haben
für den Windowsmediaplayer gibt es AFAIK eine UDF einfach einmal die SuchFunktionbenutzen,mfg autoBert
-
ja der mediaplayer war nur nen beispiel sry hatte ich vergessen zu schreiben
-
Dann nenne halt das richtige Programm, oder schau di das Beispiel zu
[autoit]_WinAPI_SetParent
[/autoit]an,
mfg autoBert
-
na ich will halt verschiden anwendung die grade laufen dort anzeigen lassen und auf wunsch halt in original grösse zurückholen
-
Du willst also eine Minaturansicht der Anwendungen haben so wie es z.b. bei Windows 7 der Fall ist?
-
jap genau so nur das es halt in meiner form ist
Edit also mit winapi komme ich nicht klar sry
-
Definitiv nicht die beste Methode, aber es funktioniert:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Include <GDIPlus.au3>
#Include <Screencapture.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]#region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$hGUI_Main = GUICreate("Fenstervorschau", 495, 309, 610, 299, BitOR($WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUISetOnEvent($GUI_EVENT_CLOSE, "_OnEventClose")
GUISetOnEvent($GUI_EVENT_RESIZED, "_OnEventResized")
;~ $hGrph = GUICtrlCreateGraphic(24, 32, 441, 233)
$hPic = GUICtrlCreatePic("", 24, 32, 441, 233, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetResizing(-1, $GUI_DOCKHCENTER + $GUI_DOCKLEFT + $GUI_DOCKRIGHT + $GUI_DOCKTOP + $GUI_DOCKBOTTOM)
$hbtn_Fwrd = GUICtrlCreateButton("Weiter", 392, 272, 75, 25, $WS_GROUP)
GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKBOTTOM + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$hbtn_Back = GUICtrlCreateButton("Zurück", 24, 272, 75, 25, $WS_GROUP)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKBOTTOM + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$hbtn_Activate = GUICtrlCreateButton("Aktivieren", 208, 272, 75, 25, $WS_GROUP)
GUICtrlSetResizing(-1, $GUI_DOCKBOTTOM + $GUI_DOCKHCENTER + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$Label1 = GUICtrlCreateLabel("Fenstervorschau", 24, 8, 83, 17)
GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKTOP + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###GUICtrlSetOnEvent($hbtn_Fwrd, "_NextWindow")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetOnEvent($hbtn_Back, "_PrevWindow")
GUICtrlSetOnEvent($hbtn_Activate, "_WinActivate")Global $ahWndAll = WinList(), $ahWnd[1]
[/autoit] [autoit][/autoit] [autoit]
For $i = 1 To $ahWndAll[0][0]
If BitAND(WinGetState($ahWndAll[$i][1]), 2) And $ahWndAll[$i][0] <> "" And $ahWndAll[$i][0] <> "Start" And $ahWndAll[$i][0] <> "Program Manager" Then ; Nur sichtbare Fenster
ReDim $ahWnd[UBound($ahWnd) + 1]
$ahWnd[UBound($ahWnd) - 1] = $ahWndAll[$i][1]
EndIf
Next_ArrayDelete($ahWnd, 0)
[/autoit] [autoit][/autoit] [autoit]Global $index = 0, $max = UBound($ahWnd) - 1
[/autoit] [autoit][/autoit] [autoit]
If $max = 0 Then
GUICtrlSetState($hbtn_Fwrd, $GUI_DISABLE)
GUICtrlSetState($hbtn_Back, $GUI_DISABLE)
EndIf_UpdateGrph()
[/autoit] [autoit][/autoit] [autoit]While Sleep(50)
[/autoit] [autoit][/autoit] [autoit]
WEndFunc _OnEventClose()
[/autoit] [autoit][/autoit] [autoit]
FileDelete(@TempDir & "/Window.jpg")
Exit
EndFuncFunc _OnEventResized()
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetImage($hPic, @TempDir & "/Window.jpg")
EndFuncFunc _WinActivate()
[/autoit] [autoit][/autoit] [autoit]
WinActivate($ahWnd[$index])
EndFuncFunc _NextWindow()
[/autoit] [autoit][/autoit] [autoit]
$index += 1
_UpdateGrph()
If $index > 0 Then GUICtrlSetState($hbtn_Back, $GUI_ENABLE)
If $index = $max Then GUICtrlSetState($hbtn_Fwrd, $GUI_DISABLE)
EndFunc ;==>_NextWindowFunc _PrevWindow()
[/autoit] [autoit][/autoit] [autoit]
$index -= 1
_UpdateGrph()
If $index < $max Then GUICtrlSetState($hbtn_Fwrd, $GUI_ENABLE)
If $index = 0 Then GUICtrlSetState($hbtn_Back, $GUI_DISABLE)
EndFunc ;==>_PrevWindowFunc _UpdateGrph()
[/autoit]
For $i = 0 To $max
WinSetTrans($ahWnd[$i], "", 00)
Next
WinSetTrans($ahWnd[$index], "", 255)
$hbmpWin = _ScreenCapture_CaptureWnd(@TempDir & "/Window.jpg", $ahWnd[$index])
For $i = 0 To $max
WinSetTrans($ahWnd[$i], "", 255)
Next
_OnEventResized()
EndFunc ;==>_UpdateGrphIn Windows 7 wird eine Miniaturansicht der Fenster bezüglich der Taskbartabs gespeichert, aber das wäre einen deut komplizierter das zu benutzen.
In meinem Beispiel sieht es scheiße aus, aber funktioniert immerhin. -
vielen dank so habe ich mir das vorgestellt
jedoch das es sich im Live handelt und nicht um scrennshots
aber sonst hast du mir seht geholfen -
In dem Fall müsstest du mit der WinAPI bzw GDI arbeiten, um das Fenster (welches NICHT im Vordergrund oder ganz zu sehen ist) abbilden zu lassen und anschließend in ein Grafikelement (wie ich es auskommentiert hatte) auszugeben. Allerdings habe ich zu wenig Ahnung davon, um das zu verwirklichen, du müsstest als einen anderen fragen.
-
oki danke ich werde mich mal versuchen