Página 1 de 1

Atualizações HB 3.4 detecção Win10 e familia NT

Enviado: 22 Jul 2015 10:34
por Itamar M. Lins Jr.
Já em conformidade com a nota técnica da MS.
https://msdn.microsoft.com/en-us/librar ... 25492.aspx
This is because MS deprecated GetVersion*() functions, so they
would return false/emulated values on or above Win8 anyway.

Código: Selecionar todos

2015-07-22 12:23 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  * src/common/hbver.c
    ! fix to previous modification (Win10 and new server detection)
    + refactor to not rely on GetVersion*() calls except for
      detecting legacy Windows versions and build number and
      service pack string on non-legacy Windows versions.
    % do not try to detect Wine on WinCE

  * contrib/hbwin/tests/os.prg
  * contrib/hbwin/win_osc.c
    * minor cleanups

2015-07-22 11:14 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  * appveyor.yml
    * temply enable OS version to test it

  * src/common/hbver.c
    * rework to use fewer deprecated GetVersion*() calls (2 to go)
    + recognize Win10, Server 2016, 8.1, Server 2012 R2 versions

  * contrib/hbwin/win_osc.c
    ! update Win10 detection based final official docs

2015-07-22 10:30 UTC+0200 Viktor Szakats (vszakats users.noreply.github.com)
  * src/common/hbver.c
    ! follow MSDN advice in:
         https://msdn.microsoft.com/en-us/library/windows/desktop/ms725492.aspx
      "If you are testing the major version, you must also test the
       minor version and the service pack major and minor versions."
    * replace ZeroMemory() with memset()

  * contrib/hbwin/win_osc.c
    * convert these functions to return emulated values with HB_LEGACY_LEVEL4:
      - return .T. on all NT platforms: WIN_OSISNT351(), WIN_OSISNT4()
      - return .T. on all Win9x platforms: WIN_OSIS95(), WIN_OSIS98(), WIN_OSISME()
      - build number will be zero, service pack an empty string and
        versions will be emulated: WIN_OSVERSIONINFO()
      This is because MS deprecated GetVersion*() functions, so they
      would return false/emulated values on or above Win8 anyway.

Saudações,
Itamar M. Lins Jr.