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 l'espressione if inline in una pipeline di Azure DevOps
Combinare Container Queries e Media Queries
Testare l'invio dei messaggi con Event Hubs Data Explorer
Recuperare l'ultima versione di una release di GitHub
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Gestire progetti .NET + React in .NET Aspire
Loggare le query più lente con Entity Framework
Ottimizzare le performance usando Span<T> e il metodo Split
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Gestire gli accessi con Token su Azure Container Registry
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Utilizzare DeepSeek R1 con Azure AI