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
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Gestire i dati con Azure Cosmos DB Data Explorer
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Effettuare il binding di date in Blazor
Supportare lo HierarchyID di Sql Server in Entity Framework 8
Gestione dell'annidamento delle regole dei layer in CSS
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Utilizzare QuickGrid di Blazor con Entity Framework
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Evitare il flickering dei componenti nel prerender di Blazor 8
Disabilitare automaticamente un workflow di GitHub (parte 2)
Aggiungere interattività lato server in Blazor 8
I più letti di oggi
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- Chiamare direttamente un numero di telefono con HTML5
- Richiamare programmaticamente le operazioni di aggiornamento, eliminazione e inserimento di FormView, DetailsView e GridView