Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide vous montre comment créer un module complémentaire natif C++ qui utilise les API de notification Windows App SDK dans votre application Electron. Il s’agit d’un excellent point de départ pour comprendre les compléments natifs avant de vous plonger dans des scénarios plus complexes.
Prerequisites
- Fin de la configuration de l’environnement de développement
- Windows 11
Étape 1 : Créer un complément natif C++
Utilisez l’interface CLI winapp pour générer un modèle de complément C++ :
npx winapp node create-addon --template cpp --name nativeWindowsAddon
Cela crée un nativeWindowsAddon/ dossier avec :
-
addon.cc- Votre code C++ qui appelle les API Windows -
binding.gyp- Configuration de build pour la compilation native
La commande ajoute également un build-addon script à votre package.json.
Générez le module complémentaire :
npm run build-addon
Étape 2 : Ajouter un code de notification
Ouvrez nativeWindowsAddon/addon.cc et mettez-le à jour pour utiliser les API de notification Windows App SDK. Le modèle généré inclut le Kit de développement logiciel (SDK) Windows nécessaire et les en-têtes Windows App SDK.
Ajoutez des éléments pour l’API de notification :
#include <winrt/Microsoft.Windows.AppNotifications.h>
#include <winrt/Microsoft.Windows.AppNotifications.Builder.h>
Ajoutez une fonction qui affiche une notification 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();
}
}
Inscrivez la fonction dans la Init méthode :
exports.Set("showNotification", Napi::Function::New(env, ShowNotification));
Étape 3 : Générer le module complémentaire
npm run build-addon
Étape 4 : Tester la notification
Ouvrez src/index.js et chargez le module complémentaire :
const addon = require('../nativeWindowsAddon/build/Release/nativeWindowsAddon.node');
Ajoutez un appel de test :
addon.showNotification('Hello from Electron!', 'This notification uses the Windows App SDK.');
Exécutez l’application :
npm start
Une notification Windows doit s’afficher.
Étape 5 : Mettre à jour l’identité de débogage
Chaque fois que vous modifiez appxmanifest.xml, exécutez :
npx winapp node add-electron-debug-identity
Étapes suivantes
- Création d’un module complémentaire Phi Silicon - Utiliser des API IA sur appareil
- Creating a WinML addon - Exécuter des modèles machine learning
- Empaquetage pour la distribution - Créer un package MSIX signé
Rubriques connexes
Windows developer