Page 1 sur 1

Une blague renversante

Publié : mar. 12/mai/2015 10:33
par falsam
Une petite blagounette pour vos amis, vos collègues de travail qui vont s'empresser de faire appel au SAV.

Code : Tout sélectionner

#DMDO_DEFAULT               = 0
#DMDO_90                    = 1
#DMDO_180                   = 2
#DMDO_270                   = 3

#DISP_CHANGE_BADDUALVIEW    = -6

Structure _DEVMODE
  dmDeviceName.c[#CCHDEVICENAME]
  dmSpecVersion.w
  dmDriverVersion.w
  dmSize.w
  dmDriverExtra.w
  dmFields.l
  padding1.w
  padding2.l
  StructureUnion
    dmOrientation.w
    dmPaperSize.w
    dmPaperLength.w
    dmPaperWidth.w
    dmScale.w
    dmCopies.w
    dmDefaultSource.w
    dmPrintQuality.w
  EndStructureUnion
  StructureUnion
    dmPosition.POINT
    dmDisplayOrientation.l
    dmDisplayFixedOutput.l
  EndStructureUnion
  dmColor.w
  dmDuplex.w
  dmYResolution.w
  dmTTOption.w
  dmCollate.w
  dmFormName.c[#CCHFORMNAME]
  dmLogPixels.w
  dmBitsPerPel.l
  dmPelsWidth.l
  dmPelsHeight.l
  StructureUnion
    dmDisplayFlags.l
    dmNup.l
  EndStructureUnion
  dmDisplayFrequency.l
  dmICMMethod.l
  dmICMIntent.l
  dmMediaType.l
  dmDitherType.l
  dmReserved1.l
  dmReserved2.l
  dmPanningWidth.l
  dmPanningHeight.l
EndStructure

Procedure ChangeDisplayOrientation(nOrientation)
  dm._DEVMODE
  ZeroMemory_(@dm, SizeOf(dm))
  dm\dmSize = SizeOf(dm)
  dm\dmFields = #DM_DISPLAYORIENTATION | #DM_PELSWIDTH | #DM_PELSHEIGHT

  If EnumDisplaySettingsEx_(#Null, #ENUM_CURRENT_SETTINGS, @dm, #Null)
    Debug dm\dmDisplayOrientation
    Debug dm\dmBitsPerPel
    Debug dm\dmPelsWidth
    Debug dm\dmPelsHeight
    Debug dm\dmDisplayFrequency
    Debug "------------------------"
    dmPelsWidth = dm\dmPelsWidth
    dm\dmPelsWidth = dm\dmPelsHeight
    dm\dmPelsHeight = dmPelsWidth

    Select nOrientation
      Case #DMDO_DEFAULT
        dm\dmDisplayOrientation = #DMDO_DEFAULT
      Case #DMDO_90
        dm\dmDisplayOrientation = #DMDO_90
      Case #DMDO_180
        dm\dmDisplayOrientation = #DMDO_180
      Case #DMDO_270
        dm\dmDisplayOrientation = #DMDO_270
      Default
        ProcedureReturn -1
    EndSelect
    lReturn = ChangeDisplaySettingsEx_(#Null, @dm, #Null, #CDS_RESET, #Null)
  EndIf
EndProcedure

Procedure.s TestReturnCode(lReturn)
  Result.s = #NULL$

  Select lReturn
    Case #DISP_CHANGE_SUCCESSFUL : Result = "DISP_CHANGE_SUCCESSFUL"
    Case #DISP_CHANGE_RESTART : Result = "DISP_CHANGE_RESTART"
    Case #DISP_CHANGE_FAILED : Result = "#DISP_CHANGE_FAILED"
    Case #DISP_CHANGE_BADMODE : Result = "DISP_CHANGE_BADMODE"
    Case #DISP_CHANGE_NOTUPDATED : Result = "DISP_CHANGE_NOTUPDATED"
    Case #DISP_CHANGE_BADFLAGS : Result = "DISP_CHANGE_BADFLAGS"
    Case #DISP_CHANGE_BADPARAM : Result = "DISP_CHANGE_BADPARAM"
    Case #DISP_CHANGE_BADDUALVIEW : Result = "DISP_CHANGE_BADDUALVIEW"
  EndSelect
  ProcedureReturn Result
EndProcedure

;Rotation du moniteur à 180°
lReturn = ChangeDisplayOrientation(#DMDO_90)
lReturn = ChangeDisplayOrientation(#DMDO_180)

;Retour à la normale aprés 10 secondes
Delay(10000)
lReturn = ChangeDisplayOrientation(#DMDO_90)
lReturn = ChangeDisplayOrientation(#DMDO_DEFAULT)
Testé sous Windows 7 - Windows 8 - Windows 10. Fonctionne pas sous Windows XP.

Re: Une blague renversante

Publié : mar. 12/mai/2015 13:15
par G-Rom
Sympa ^^ , marche sous w7

Re: Une blague renversante

Publié : mar. 12/mai/2015 15:59
par Kwai chang caine
Renverse quedal avec un ordinausaure XP :mrgreen:

Re: Une blague renversante

Publié : mar. 12/mai/2015 16:07
par Marc56
Windows pour l'hémisphère sud :P

Re: Une blague renversante

Publié : mar. 12/mai/2015 16:50
par majikeyric
Sympa!

Re: Une blague renversante

Publié : mar. 12/mai/2015 20:30
par Kwai chang caine
Toujours quedal sur un autre ordinosaure XP SP3 et v5.23 :mrgreen:

Re: Une blague renversante

Publié : mar. 12/mai/2015 21:39
par majikeyric
Kwai chang caine a écrit :Toujours quedal sur un autre ordinosaure XP SP3 et v5.23 :mrgreen:
Tu verrais pas les autres applis à l'envers par hasard sur ton XP SP3 ??? :lol: :D

Re: Une blague renversante

Publié : mar. 12/mai/2015 21:40
par SPH
Ca ne me fait que ca :
0
32
1366
768
60
------------------------
0
32
1366
768
60
------------------------
0
32
1366
768
60
------------------------
0
32
1366
768
60
------------------------

Re: Une blague renversante

Publié : mar. 12/mai/2015 22:05
par microdevweb
Sympa Windows 7,

Re: Une blague renversante

Publié : mar. 12/mai/2015 23:24
par SPH
microdevweb a écrit :Sympa Windows 7,
C'est sencé faire koi ?

Re: Une blague renversante

Publié : mar. 12/mai/2015 23:38
par majikeyric
Bein, tout l'environnement est à l'envers :)

Re: Une blague renversante

Publié : mer. 13/mai/2015 17:22
par Kwai chang caine
Troisieme essai avec une troisieme "maquine" digne de ce nom
Cette fois je tombe à la renverse, mais bien suir la machine est sous "LM" :mrgreen:
Mais je le crie haut et fort....point de retournage il ne se passe son XP ...

Ca marche ...donc je te remercie FALSAM 8)

Re: Une blague renversante

Publié : jeu. 14/mai/2015 18:44
par Micheao
Marche trés bien sous Win 8.1 :mrgreen:

Re: Une blague renversante

Publié : ven. 15/mai/2015 21:56
par venom
C'est fun merci du code






@++