Seite 1 von 1
Screen erkennen
Verfasst: 03.03.2020 22:45
von Olafmagne
Hallo an Alle
Ich habe eine Frage was den Screen betrift
Und zwar wurde ich gerne wissen,ob es möglich ist,irgendwie zu erkennen,
ob es sich um einen 'FullScreen' oder einen 'WindowedScreen' handelt.
Grund ist,das ich dabei bin ein Modul zu schreiben,und dies sowohl im vollbild als auch im 'Window'
laufen soll,aber ein paar Dinge eben im Fenster anders,Windows-Mässig erledigt werden kann,
während im VollBild eine andere Option gewählt werden muss.
Merci
Olaf
Re: Screen erkennen
Verfasst: 04.03.2020 09:03
von Mijikai
Evtl.:
Code: Alles auswählen
Procedure.i IsFullscreenWindow(hwnd.i); 1 = Fullscreen / 2 = Windowed / -1 = Error
Protected hm.i
Protected mi.MONITORINFOEX
Protected wr.RECT
mi\cbSize = SizeOf(MONITORINFOEX)
hm = MonitorFromWindow_(hwnd,#MONITOR_DEFAULTTOPRIMARY)
If GetMonitorInfo_(hm,@mi)
If IsWindowVisible_(hwnd)
If GetWindowRect_(hwnd,@wr)
wr\right - wr\left
wr\bottom - wr\top
mi\rcMonitor\right - mi\rcMonitor\left
mi\rcMonitor\bottom - mi\rcMonitor\top
CloseHandle_(hm)
If wr\right = mi\rcMonitor\right And wr\bottom = mi\rcMonitor\bottom
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndIf
EndIf
EndIf
CloseHandle_(hm)
ProcedureReturn -1
EndProcedure
Re: Screen erkennen
Verfasst: 05.03.2020 04:01
von Olafmagne
Salut
wenn ich das jetzt richtig interpretiere,ist das Win-Api?
gibt's da auch was Ohne?
bin zZt mit Win nicht so freund,daher suche ich ein Linux-Lösung
kenne mich aber mit der Api da garnicht aus
werde es aber für Win auf jeden Fall speichern!
Merci erst mal dafür
Olaf
Edit:
Sorry,ich hab meinen ersten Beitrag grade noch mal durchgelesen,
ist ein wenig irreführend!
mit Windowmässig meinte ich,dass in einem Fenster Events generiert werden,
im Screen eben nicht,so dass ich zB bei WindowedScreen ein TimerEvent nutzen kann,
bei einen FullScreen nicht...
Olaf
Re: Screen erkennen
Verfasst: 05.03.2020 05:24
von Demivec
Olafmagne hat geschrieben:mit Windowmässig meinte ich,dass in einem Fenster Events generiert werden,
im Screen eben nicht,so dass ich zB bei WindowedScreen ein TimerEvent nutzen kann,
bei einen FullScreen nicht...
Mit FullScreen kann weiterhin ein verstecktes Fenster geöffnet werden, um Timer zu verwenden.
Code: Alles auswählen
keinFenster = OpenWindow(#PB_Any, 0, 0, 50, 50, ##PB_Window_Invisible | #PB_Window_BorderLess | #PB_Window_NoGadgets | #PB_Window_NoActivate)
;Timer können jetzt auch mit WindowEvent () in FullScreen verwendet werden.
;AddWindowTimer(keinFenster, Timer, Timeout)
Re: Screen erkennen
Verfasst: 05.03.2020 15:15
von Olafmagne
Ich steh im Wald und seh die Bäume nicht!!!
Na klar ein invisible window is nu aber auch zu einfach,da kommt mann nich drauf!
bis ich die Linux-Api kappiert hab,muss es so gehen!
Danke
Olaf