Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
			
		
		
			- 
				
								juergenkulow							
- Beiträge: 190
- Registriert: 22.12.2016 12:49
- Wohnort: :D_üsseldorf-Wersten
						
						
													
							
						
									
						Beitrag
					
								von juergenkulow » 
			
			
			
			
			Hallo,
mit welcher Compilerkonstanten frage ich die Compileroption DPI-Unterstützung für das Executable ab?
Code: Alles auswählen
;PB 5.70 Windows
;#PB_Compiler_DPIaware=0
;#PB_Compiler_DPIaware=1
CompilerIf 0=#PB_Compiler_DPIaware
  CompilerError "Compiler Option DPI kompatibles EXE erstellen einstellen"
CompilerEndIf 
 
		 
				
		
		 
	 
				
			
		
		
			- 
				
								RSBasic							
- Admin
- Beiträge: 8047
- Registriert: 05.10.2006 18:55
- Wohnort: Gernsbach
- 
				Kontaktdaten:
				
			
						
						
													
							
						
									
						Beitrag
					
								von RSBasic » 
			
			
			
			
			Es gibt anscheinend noch keine Konstante dafür. Bist du im englischen Forum registriert? Wenn ja, dann kannst du dort einen Wunsch-Thread erstellen.
			
			
									
									Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
 

 
						 
		 
				
		
		 
	 
	
						
		
		
			- 
				
								juergenkulow							
- Beiträge: 190
- Registriert: 22.12.2016 12:49
- Wohnort: :D_üsseldorf-Wersten
						
						
													
							
						
									
						Beitrag
					
								von juergenkulow » 
			
			
			
			
			Code: Alles auswählen
; Workaround Laufzeitabfrage PB_Compiler_DPIAware 
CompilerIf #PB_Compiler_OS=#PB_OS_Windows
  CompilerIf #PB_Compiler_Version>=570
    Define DPIFlag.l
    EnableASM
    MOV eax,dword [PB_Compiler_DPIAware] ; _PB_DataSection: pb_public PB_Compiler_DPIAware   dd     0 oder 1 
    MOV DPIFlag,eax                      ; Schreibe eax Register in Variable DPIFlag. 
    If 0=DPIFlag
      MessageRequester("FATAL","Compiler Option DPIAware wurde nicht gesetzt.")
      End
    EndIf 
  CompilerElse  
    CompilerError "PureBasic 5.70 oder höhere Version wird benötigt."
  CompilerEndIf
CompilerEndIf
CompilerIf #PB_Compiler_IsIncludeFile=#False 
ExamineDesktops()
Fenster=OpenWindow(#PB_Any , 0, 0, DesktopWidth(0)-20, DesktopHeight(0)-60, "Maus nicht im Fenster", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Tool)
Repeat
  Event = WaitWindowEvent(16)
  Select Event   
    Case #WM_MOUSEMOVE
      SetWindowTitle(Fenster,"Mausposition:"+ Str(WindowMouseX(Fenster)) + "," + Str(WindowMouseY(Fenster)))
  EndSelect    
Until Event = #PB_Event_CloseWindow
CompilerEndIf