In Silverlight 5 è possibile eseguire codice nativo (API Win32) attraverso la funzionalità nota come P/Invoke. Il suo utilizzo si basa sull'attributo DllImport, di System.Runtime.InteropServices, che permette di specificare la DLL di codice nativo.
Nell'esempio andiamo ad utilizzare la User32.dll la cui funzione MessageBeep ci permette di riprodurre i comuni suoni informativi, definiti a livello di sistema operativo, quindi personalizzati anche dall'utente.
[DllImport("User32.dll")] private static extern Boolean MessageBeep(UInt32 beepType); private void ICONINFORMATION_Click(object sender, RoutedEventArgs e) { uint t = Convert.ToUInt32("0x00000040", 16); //ICONINFORMATION MessageBeep(t); } private void ICONWARNING_Click(object sender, RoutedEventArgs e) { uint t = Convert.ToUInt32("0x00000030", 16); //ICONWARNING MessageBeep(t); }
Come possiamo vedere nello snippet precedente, la funzione MessageBeep accetta un UInt32 come parametro, che corrisponde ad uno dei suoni di sistema: "0x00000030" per il warning, "0x00000010" per lo stop, ecc..
Tutti i dettagli di MessageBeep e degli altri suoi si possono trovare all'indirizzo
http://msdn.microsoft.com/en-us/library/ms680356%28v=vs.85%29.aspx .
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare proprietà di tipo DateOnly con EF Core 6
Leggere la configurazione da Azure KeyVault con logica di retry in ASP.NET Core
Test reporting in un workflow di GitHub
Ottimizzare le performance di serializzazione e deserializzazione JSON con System.Text.Json e i source generators
Centrare elementi in HTML tramite CSS
Utilizzare il metodo reduce in JavaScript
Real world .NET Architecture
Utilizzare la visualizzazione flex per spostare una sidebar in base alle dimensioni dello schermo
Creare una timeline da una pipeline di Azure DevOps
Utilizzare l'attributo HTML inert per disabilitare gli eventi
Creare automaticamente una issue di GitHub
Gestire i file esterni in una PWA
I più letti di oggi
- Gestire il breaking change di Entity Framework Core 7 con tabelle che usano identity e trigger
- Leggere e scrivere su cookie tramite Blazor
- Realizzare applicazioni SaaS con ASP.NET Core e Azure
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core