Ganzen desktop als Screen
Ganzen desktop als Screen
Wie kann ich den ganzen Desktop mit allen Windows wie einen Screen behandeln, also das die Windows nicht mehr reagieren auf Tastendrücke?
Könnte man vll per Screenshot und ScreenOutput machen, aber die gefundenen Beispiele wollen sich nicht verstehen lassen. Hilfe?
Könnte man vll per Screenshot und ScreenOutput machen, aber die gefundenen Beispiele wollen sich nicht verstehen lassen. Hilfe?
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ermn.. was genau hast du vor?
also, es gibt möglichkeiten, einen desktop-screenshot zu machen und den als hintergrundbild für nen DX-screen zu verwenden.
das akute optische problem wird der Mauszeiger sein.
das würdest du umgehen, wenn du ein borderless maximized win erstellst, mit einem windowedscreen, der die aktuelle desktopgröße benutzt.
außerdem solltest du dann alle eingaben hooken, oder wär das ok, wenn dein prog mit Alt-Tab übergangen werden kann?
screenshot vom desktop gibt bestimmt forenthemen dazu.
wenn du dort nicht klar kommst, solltest du vllt. das alte topic hochholen, damit wir wissen, wovon du redest...
also, es gibt möglichkeiten, einen desktop-screenshot zu machen und den als hintergrundbild für nen DX-screen zu verwenden.
das akute optische problem wird der Mauszeiger sein.
das würdest du umgehen, wenn du ein borderless maximized win erstellst, mit einem windowedscreen, der die aktuelle desktopgröße benutzt.
außerdem solltest du dann alle eingaben hooken, oder wär das ok, wenn dein prog mit Alt-Tab übergangen werden kann?
screenshot vom desktop gibt bestimmt forenthemen dazu.
wenn du dort nicht klar kommst, solltest du vllt. das alte topic hochholen, damit wir wissen, wovon du redest...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
ganzen Desktop mit allen Windows wie einen Screen behandeln
Per OpenScreen(...) oder was meinst du?
//nachtrag
Pardon! Ich war leider etwas zu spät!
Per OpenScreen(...) oder was meinst du?
//nachtrag
Pardon! Ich war leider etwas zu spät!

Zuletzt geändert von Jilocasin am 11.06.2006 17:37, insgesamt 1-mal geändert.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ach SOOO.. das sollte doch supereasy gehen.
also, screenshot von desktop per programm machen lassen muss möglich sein, schließlich kostet mich das nur einen knopfdruck, also ist die funktion vorhanden.
hast du denn mit der boardsuche nix gefunden?
also, screenshot von desktop per programm machen lassen muss möglich sein, schließlich kostet mich das nur einen knopfdruck, also ist die funktion vorhanden.
hast du denn mit der boardsuche nix gefunden?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Gugg mal hier:
http://www.purebasic.fr/german/viewtopic.php?t=8513
//nachtrag
schon wieder zu spät !

http://www.purebasic.fr/german/viewtopic.php?t=8513
//nachtrag
schon wieder zu spät !


Ander Variante bin ich ja grad dran.
Verprügelt mich, ich weiß, aber ich komm damit nicht klar:
Hab jetzt den Code von Jilocasin:
Er öffnet den Screen, aber er rendert nichts drauf.
Edit:
Schlagt mich noch doller, ich hab nich mal ein FlipBuffers().
Geht aber trotzdem nicht.
Verprügelt mich, ich weiß, aber ich komm damit nicht klar:
Hab jetzt den Code von Jilocasin:
Code: Alles auswählen
Enumeration
#image
EndEnumeration
;Bitmap anlegen
CreateImage(0,GetSystemMetrics_(#SM_CXSCREEN),GetSystemMetrics_(#SM_CYSCREEN))
;auf angelegtes Bitmap zeichnen
DC = StartDrawing(ImageOutput())
BitBlt_(DC,0,0,ImageWidth(),ImageHeight(),GetDC_(GetDesktopWindow_()),0,0,#SRCCOPY )
StopDrawing()
;Bitmap an Fenstergroesse anpassen
ResizeImage(0,640,480)
If 1=2
If OpenWindow(0, 10, 10, 640, 480, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Screenshot")
StartDrawing(WindowOutput())
DrawImage(ImageID(),0,0)
StopDrawing()
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
End
EndIf
InitKeyboard()
InitSprite()
OpenScreen(800,600,32,"Abreagieren")
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
StartDrawing(ScreenOutput())
DrawImage(ImageID(), 0, 0)
StopDrawing()
Until KeyboardPushed(#PB_Key_Escape)
Edit:
Schlagt mich noch doller, ich hab nich mal ein FlipBuffers().
Geht aber trotzdem nicht.
Danke für die Hilfe, funzt jetzt mit diesem Kot:
Alleridngs lässt die Quality ein bisschen zu wünschen übrig.
Auch geändert.
Ein Wunder. Heut brauch ich kaum Hilfe, aber nachher wahrsce, bei den MouseBefehlen...
Code: Alles auswählen
Enumeration
#image
EndEnumeration
;Bitmap anlegen
CreateImage(#image,GetSystemMetrics_(#SM_CXSCREEN),GetSystemMetrics_(#SM_CYSCREEN))
;auf angelegtes Bitmap zeichnen
DC = StartDrawing(ImageOutput())
BitBlt_(DC,0,0,ImageWidth(),ImageHeight(),GetDC_(GetDesktopWindow_()),0,0,#SRCCOPY )
StopDrawing()
;Bitmap an Fenstergroesse anpassen
ResizeImage(#image,800,600)
If 1=2
If OpenWindow(0, 10, 10, 640, 480, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget, "Screenshot")
StartDrawing(WindowOutput())
DrawImage(ImageID(),0,0)
StopDrawing()
Repeat
EventID.l = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
EndIf
Until Quit = 1
EndIf
End
EndIf
ergeb=UseImage(#image)
InitKeyboard()
InitSprite()
OpenScreen(800,600,32,"Abreagieren")
Repeat
ClearScreen(0,0,0)
ExamineKeyboard()
StartDrawing(ScreenOutput())
DrawImage(ergeb, 0, 0)
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Auch geändert.
Ein Wunder. Heut brauch ich kaum Hilfe, aber nachher wahrsce, bei den MouseBefehlen...
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
Ähm ja?Alves hat geschrieben:funzt jetzt mit diesem Kot