Página 1 de 2

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 12:11
por JoséQuintas
Provavelmente vai ter solução oficial, mas pra quem precisa da informação:

https://msdn.microsoft.com/pt-br/librar ... s.85).aspx

Usando esse manifest indicado, OS() e win_osIsW10() funciona corretamente no W10.

Na página da Microsoft diz que não tem efeito para versões anteriores do Windows.
Em todo caso, testei no XP, W7 e W10 e funcionou corretamente.

Caso não use esse manifest indicado, pode considerar Windows 8.2 ao invés de Windows 10.
Nenhum problema para o Harbour.

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 14:07
por asimoes
Quintas,

Você tá fazendo referencia ao windows.manifest ?

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 14:10
por JoséQuintas
O Harbour tem opção automática pra isso, mas já usava de outro jeito antes, e continuo usando.

Num modo simples:
Ou deixa o arquivo físico no disco, ou linquedita junto ao EXE através do arquivo RC.

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 14:35
por Kapiaba
Mister Quintas, qual é a diferença desse do link para este?

Código: Selecionar todos

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="X86"
    name="FiveTech Software.FiveWin.32bits"
    type="win32"
/>
<description>Your application description here.</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>
Este não funcionará em Windows 10, é isso?

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 15:13
por JoséQuintas
Apenas o programa vai detectar como sendo Windows 8.

De forma simples:
Se isso não fez falta pra você até agora, não precisa se preocupar.

A única diferença visível no momento:

Código: Selecionar todos

@ 1, 1 SAY OS()
Em Windows 10, isso mostra Windows 8.2, se não usar o manifest novo.
Só isso.
De resto, continua tudo funcionando normalmente.

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 15:19
por asimoes
O que ficou esquisito na última atualização do w10 foi a exibição da mensagem na linha com a seta em vermelho, que não acontecia na versão anterior antes da atualização. Não existia essa terceira linha com mensagem na função Shell_NotifyIcon do windows

hwg_Shellnotifyicon( .F., oMainWindow:handle, oMainWindow:oNotifyIcon:handle )
::SysWait(.1) //Só assim resolveu
hwg_Shellnotifyicon( .T., oMainWindow:handle, oMainWindow:oNotifyIcon:handle, "", cMens1, cMens2, nIconIndex)

Normal
Tela002.PNG
Estranho
Tela001.PNG

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 15:46
por JoséQuintas
Não reparei nisso, vou ter que aguardar alguma mensagem.

O que ainda não descobri é sobre uma mensagem em verde ao carregar um aplicativo.
É muito rápida, quase não dá pra perceber, e muito menos saber do que se trata.
Talvez do antivírus, mas não sei.

Tenho a impressão de que abrir arquivos é muito mais rápido no W10.

Não estou gostando do leitor de PDF.
Ver o manual da NFE nele é uma merd.
Além de lento, de vez em quando retorna ao início do documento, sem motivo aparente.

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 15:59
por JoséQuintas
Na loja da Microsoft deu até pra descobrir que discos piratas estão virando oficiais.
Tem alguns ai que eu não conhecia, mas ai é só uma parte.
rainbow.png

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 16:03
por JoséQuintas
Agora que a loja ficou boa demais.
119 discos do Iron Maiden.
Não vou comprar nenhum, mas é interessante.
ironmaiden.png
Mas....
Se está na loja... o que acontece se estiver no HD....
Xi...

Harbour retornar versão Windows 10

Enviado: 11 Out 2016 16:09
por asimoes
Quintas,

kkkk, a Microsoft já fez um dossiê do seu usuário!,

Apaga todos os "ripados"

Harbour retornar versão Windows 10

Enviado: 12 Nov 2016 00:46
por cl@udio
Boa noite
asimoes
Voce nao teria um exemplo simples com esta funcao hwg_Shellnotifyicon(), que eu possa compilar para ver.
Pois ja tentei um monte de exemplos.
A testtray da pasta samples da hwgui compila mas da erro na execucao.
Obrigado.

Harbour retornar versão Windows 10

Enviado: 12 Nov 2016 08:45
por asimoes
Olá Claudio,

Eu ainda uso a versão 2.17, eu modifiquei 2 fontes da hwgui: shellapi.c e hwindow.prg ambos na pasta source
Os arquivos no anexo devem ser copiados para a pasta source e a hwgui deve ser recompilada, não fiz teste com outra versão diferente da 2.17

Segue o anexo para usar

Exemplo de uso:

Código: Selecionar todos

#define NIIF_INFO               0x00000001 //mostra o icone exclamação
#define NIIF_WARNING            0x00000002
#define NIIF_ERROR              0x00000003
#define NIIF_USER               0x00000004 //mostra o icone da aplicação

Notificar( "", "Iniciado", "Sistema AsaPrev", NIIF_USER )

FUNCTION Notificar(cMens1, cMens2, cMens3, nIconIndex)
LOCAL oMainWindow:=Nil, oIconBandeja:=Nil, oTrayMenu:=Nil
   hb_Default(@cMens1, "")
   hb_Default(@cMens2, "Iniciado")
   hb_Default(@cMens3, "Sistema AsaPrev")
   hb_Default(@nIconIndex, NIIF_USER)

  oIcon:= HIcon():AddResource("ICON_A") //icone definido no .rc
  
  INIT WINDOW oMainWindow ;
         MAIN ;
        TITLE "" 

  CONTEXT MENU oTrayMenu
      MENUITEM "Sobre"                 ACTION {||hwg_MsgInfo("AsaPrev (32 bits)"+;
                                                 hb_EOL()+;
                                                 hb_EOL()+;
                                                 hb_Version()+;
                                                 hb_EOL()+;
                                                 hb_Compiler()+;
                                                 hb_EOL()+;
                                                 hb_EOL()+;
                                                 "Desenvolvido por Alexandre Simões"+;
                                                 hb_EOL()+;
                                                 "asimoesluz@gmail.com", "Sobre Sistema AsaPrev")};
                                                 BITMAP "SOBRESIS" //definido no .rc
                   
      SEPARATOR
      MENUITEM "Sair"                  ACTION {|| hwg_ExitProcess() } BITMAP "BMP_SAIR24"
   ENDMENU 
   
   oMainWindow:InitTray(oIcon,, oTrayMenu, cMens1, cMens2, cMens3, nIconIndex)

   SysWait(2)
   
   hwg_ShellModifyIcon( oMainWindow:handle, oIcon:handle, "Sistema AsaPrev"+hb_EOL()+"Alexandre Simões", "", "", nIconIndex)
   
   ACTIVATE WINDOW oMainWindow NOSHOW
   
   oTrayMenu:End()
  
RETURN Nil

FUNCTION SysWait( nWait )
LOCAL iTime := Seconds()

   nWait := hb_DefaultValue(nWait, 1)

   DO WHILE Seconds() - iTime < nWait
      hwg_DoEvents()
   ENDDO

RETURN Nil

Harbour retornar versão Windows 10

Enviado: 12 Nov 2016 12:28
por cl@udio
Bom dia asimoes
Voce poderia me passar o arquivo .rc deste exemplo.
Estou achando que meu problema esta neste arquivo.
Para ter certeza.
Me desculpe o texto sem acento, nao consigo colocar os acentos.
Depois que mudei o teclado.
Obrigado
Claudio

Harbour retornar versão Windows 10

Enviado: 12 Nov 2016 13:58
por asimoes
Olá

Segue o .rc

Eu compilo com harbour 32 fork com mingw

Código: Selecionar todos

#include "hbver.h"

#define HB_VER_PRODUCTVERSION          HB_VER_MAJOR,HB_VER_MINOR,HB_VER_RELEASE,0

1001 BITMAP AVI\\SAIR.BMP
1002 BITMAP AVI\\EMAIL.BMP

1 24 AVI\\Windows7.Manifest

ICON_A                  ICON          AVI\\ASAPREV.ICO
ICON_ASAPREV            ICON          AVI\\ASAPREV.ICO
ICON_ACHOICE            ICON          AVI\\IACHOICE.ICO
ICON_PERGUNTA           ICON          AVI\\ICON_PERGUNTA.ICO
ICON_PRINT              ICON          AVI\\PRINT.ICO
ICON_CEP                ICON          AVI\\CEP.ICO
ICON_EMAIL              ICON          AVI\\EMAIL.ICO
ICON_EXPORTAR           ICON          AVI\\EXPORTAR.ICO
ICON_GRAVAR             ICON          AVI\\IGRAVAR.ICO
ICON_SAIR               ICON          AVI\\SAIR.ICO
ICON_ZOOMIN             ICON          AVI\\ZOOMIN.ICO
ICON_ZOOMOUT            ICON          AVI\\ZOOMOUT.ICO
ICON_WORD               ICON          AVI\\WORD.ICO
ICON_PDF                ICON          AVI\\PDF.ICO
ICON_CANCELAR           ICON          AVI\\ICANCELAR.ICO
ICON_CADEADO            ICON          AVI\\CADEADO.ICO
ICON_GOOGLE             ICON          AVI\\GOOGLE.ICO
ICON_INTERNET           ICON          AVI\\APPLICATIONS_INTERNET.ICO
ICON_BRADESCO           ICON          AVI\\IBRADESCO.ICO
ICON_OK                 ICON          AVI\\IOK.ICO
ICON_OK16               ICON          AVI\\IOK16.ICO
ICON_SAIR16             ICON          AVI\\ISAIR16.ICO
ICON_OK24               ICON          AVI\\IOK24.ICO
ICON_PRIMEIRO           ICON          AVI\\IPRIMEIRO.ICO
ICON_ULTIMO             ICON          AVI\\IULTIMO.ICO
ICON_SEGUINTE           ICON          AVI\\ISEGUINTE.ICO
ICON_ANTERIOR           ICON          AVI\\IANTERIOR.ICO
ICON_LUPA               ICON          AVI\\ILUPA.ICO
ICON_CANCELA            ICON          AVI\\ICANCELA.ICO
ICON_AMPULHETA          ICON          AVI\\IAMPULHETA.ICO
ICON_INPUT32            ICON          AVI\\INPUT32.ICO
AVI_AMPULHETA           AVI           AVI\\AMPULHETA.AVI
BMP_OK24                BITMAP        AVI\\OK24.BMP 
BMP_SAIR24              BITMAP        AVI\\SAIR24.BMP 
TASKBAR                 BITMAP        AVI\\TASKBAR.BMP
SOBRESIS                BITMAP        AVI\\SOBRESIS.BMP 

File                    TXT     asa.rc

/* Version info */
#include <winver.h>

1 VERSIONINFO
FILEVERSION 5,0,0,0
PRODUCTVERSION HB_VER_PRODUCTVERSION
FILEOS 0x4
FILETYPE 0x1
{
  BLOCK "StringFileInfo"
  {
     BLOCK "040904b0"
    {
      VALUE "CompanyName", "AsaPrev"
      VALUE "FileDescription", "Sistema AsaPrev\000"
      VALUE "FileVersion", "03.07.2016"
      VALUE "InternalName", "AsaPrev"
      VALUE "LegalCopyright", "Copyright © 07-2016 by Alexandre Simões\000"
      VALUE "LegalTrademarks", "Alexandre Simões"
      VALUE "OriginalFilename", "AsaPrev.exe"
      VALUE "ProductName", "Sistema AsaPrev"
      VALUE "ProductVersion", "6.0 - 07/2016"
      VALUE "Comments", "Sistema de Controle de Sócios\000"
      VALUE "Aditional Notes", "Não pode ser distribuido sem autorização."
    }
  }
  BLOCK "VarFileInfo"
  {
    VALUE "Translation", 0x416, 0x4B0
  }
}

Harbour retornar versão Windows 10

Enviado: 12 Nov 2016 15:48
por cl@udio
erro.png
Sempre este erro.
Vou tentar mudar para os 2 arquivos que vc mandou e compilar hwgui 2.20 build3 que estou usando.
Agradeco pela atencao.
Claudio