Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia mostra como criar um complemento nativo do C++ que usa as APIs de notificação de Windows App SDK em seu aplicativo Electron. Este é um ótimo ponto de partida para entender os complementos nativos antes de se aprofundar em cenários mais complexos.
Pré-requisitos
- Concluído a configuração do ambiente de desenvolvimento
- Windows 11
Etapa 1: Criar um complemento nativo do C++
Use a CLI do winapp para gerar um modelo de complemento C++:
npx winapp node create-addon --template cpp --name nativeWindowsAddon
Isso cria uma nativeWindowsAddon/ pasta com:
-
addon.cc- Seu código C++ que chamará APIs do Windows -
binding.gyp– Configuração de build para compilação nativa
O comando também adiciona um script build-addon ao seu package.json.
Crie o complemento:
npm run build-addon
Etapa 2: Adicionar código de notificação
Abra nativeWindowsAddon/addon.cc e atualize-o para usar as APIs de notificação de Windows App SDK. O modelo gerado inclui o SDK do Windows necessário e os cabeçalhos do Windows App SDK.
Adicionar inclusões para a API de notificação:
#include <winrt/Microsoft.Windows.AppNotifications.h>
#include <winrt/Microsoft.Windows.AppNotifications.Builder.h>
Adicione uma função que mostra uma notificação do Windows:
Napi::Value ShowNotification(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();
try {
std::string title = info[0].As<Napi::String>().Utf8Value();
std::string message = info[1].As<Napi::String>().Utf8Value();
winrt::Microsoft::Windows::AppNotifications::Builder::AppNotificationBuilder builder;
builder.AddText(winrt::to_hstring(title));
builder.AddText(winrt::to_hstring(message));
auto notification = builder.BuildNotification();
winrt::Microsoft::Windows::AppNotifications::AppNotificationManager::Default().Show(notification);
return Napi::Boolean::New(env, true);
} catch (const winrt::hresult_error& e) {
Napi::Error::New(env, winrt::to_string(e.message())).ThrowAsJavaScriptException();
return env.Null();
}
}
Registre a função no Init método:
exports.Set("showNotification", Napi::Function::New(env, ShowNotification));
Etapa 3: Criar o complemento
npm run build-addon
Etapa 4: Testar a notificação
Abra src/index.js e carregue o complemento:
const addon = require('../nativeWindowsAddon/build/Release/nativeWindowsAddon.node');
Adicione uma chamada de teste:
addon.showNotification('Hello from Electron!', 'This notification uses the Windows App SDK.');
Execute o aplicativo:
npm start
Você deve ver uma notificação do Windows aparecer.
Etapa 5: Atualizar a identidade de depuração
Sempre que você modificar appxmanifest.xml, execute:
npx winapp node add-electron-debug-identity
Próximas Etapas
- Criando um complemento Phi Silica – Usar APIs de IA no dispositivo
- Criando um complemento WinML – executar modelos machine learning
- Empacotamento para distribuição – Criar um pacote MSIX assinado
Tópicos relacionados
Windows developer