adequado para a função de conversão de "std::wstring" para "LPWSTR" existe em C++

Usando o código abaixo, estou recebendo o caminho "C:\ProgramFiles"

E, em seguida, acrescentando "\Test\myupdate.exe" para ele.

Depois que eu estou armazenando este caminho no "pwszTaskTrigger" variável de estrutura, como abaixo:

mcTskInfo.pwszTaskTrigger = strexepath;

Mas, Quando o armazenamento estou recebendo uma mensagem de aviso ("adequado para a função de conversão de "std::wstring" para "LPWSTR" existe"):

Abaixo está o Código completo:

MCTASKINFO mcTskInfo = { 0 };
WCHAR szCommonFiles[MAX_PATH] = { 0 };
lRet = SHGetFolderPathW(NULL, CSIDL_PROGRAM_FILES, NULL, 0, szCommonFiles);
std::wstring strexepath = L"";
    strexepath.append(szCommonFiles);  //szCommonFiles gives the path "C:\\ProgramFiles"
    strexepath.append(ADD_MCUPDTPATH);
    mcTskInfo.pwszTaskTrigger = strexepath;

#define ADD_MCUPDTPATH          L"\\Test\\myupdate.exe"


struct MCTASKINFO
{

LPWSTR pwszTaskTrigger; 

};

Aqui eu não deveria alterar a variável de estrutura pwszTaskTrigger de LPWSTR para LPCWSTR. Porque esse arquivo é o arquivo de inclusão.

Como posso corrigir esse problema sem alterar LPWSTR para LPCWSTR?

+1
2019-09-18 12:19:09
origem
3 respostas

O aplicativo oferece suporte Androidx mas você está usando o Gridlayout biblioteca para v7 que é suportado somente até api 28. Substituir o Gridlayout biblioteca com os mais recentes Androidx Gridlayout biblioteca

androidx.gridlayout:gridlayout
+1
2019-09-18 12:23:52

Uma simples (mas limitado) abordagem seria a de verificar se o evento keydown de keyCode está entre 65 (código de chave 'a') e 90 (código para "z").

Se você precisa de mais do que apenas letras, porém, outra solução seria verificar o evento é key e o seu comprimento. Para personagens reais, o key simplesmente sustenta que a personagem (modo de comprimento, 1). Para as teclas Ctrl, Shift, etc., key vai conter o nome completo da chave, por exemplo, "Controle", "Shift", etc.

Assim, se uma chave é um carácter real, de key de propriedade terá uma duração de 1.

document.onkeydown = function(e) {
  var keycode = e.keyCode;
  if(e.key.length == 1) {
    document.querySelector("#editor").innerHTML += e.key;
  }
}
<p id="editor"></p>

+1
2019-09-18 16:47:20

Você pode verificar isso também

document.addEventListener("keydown", (event) => {
      console.log(event);
      if (event.code === "Escape") {
        console.log("abc");
      }
    });
+1
2019-09-18 16:47:20

Veja mais perguntas por marcas