Questo dovrebbe essere semplice, ma non apparentemente. Dal momento che Windows 3 o giù di lì, c'è un pannello di controllo chiamato Telefono o Telefono & Modem. In quel pannello di controllo ci sono un sacco di informazioni su come un modem si connetterebbe, supponendo che tu abbia un modem collegato. Ad esempio, è necessario comporre 9 per uscire, qual è il prefisso e così via. Come posso accedere a queste informazioni a livello di programmazione? Sto usando C# .NET 2010.Come trovare le regole di composizione di Windows in .NET
risposta
non riuscivo a trovare un modo per accedere attraverso un t TAPI involucro (dopo un non molto tempo di ricerca) e quindi ho sparato procmon un trovato dove era stato archiviato nel Registro di sistema, ed ecco il codice che vi accede (è possibile adattare alle proprie esigenze specifiche):
RegistryKey locationsKey =
Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations");
if (locationsKey == null) return;
string[] locations = locationsKey.GetSubKeyNames();
foreach (var location in locations)
{
RegistryKey key = locationsKey.OpenSubKey(location);
if (key == null) continue;
Console.WriteLine("AreaCode {0}",key.GetValue("AreaCode"));
Console.WriteLine("Country {0}",(int) key.GetValue("Country"));
Console.WriteLine("OutsideAccess {0}", key.GetValue("OutsideAccess"));
}
Nota:
- vi consiglio di utilizzare un'API ufficiale se c'è uno compatibile .net.
- Questo codice non è garantito per lavorare su altri sistemi operativi di Windows 7
- Se è necessario richiedere all'utente di compilare questi dettagli è possibile avviare lo strumento di configurazione utilizzando:
Process.Start(@"C:\Windows\System32\rundll32.exe",@"C:\Windows\System32\shell32.dll,Control_RunDLL C:\Windows\System32\telephon.cpl");
È necessario utilizzare Tapi in Windows o estrarre le informazioni dal registro. Secondo Microsoft Tapi 3.0 non è stato progettato per essere utilizzato dal codice gestito, anche se il primo collegamento sembra averlo fatto.
Alcuni articoli da guardare:
Dal link # 2
Date un'occhiata a queste funzioni TAPI:
lineGetTranslateCaps
lineTranslateAddress
lineTranslateDialog
lineSetCurrentLocation
lineGetCountry
tapiGetLocationInfo
Le informazioni sono memorizzate nel Registro di sistema a: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations
Bit più codice per ottenere il prefisso
class Program
{
static void Main(string[] args)
{
string rootLocation = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations";
getRegistryValues(rootLocation);
Console.ReadLine();
}
public static void getRegistryValues(string rootLocation)
{
RegistryKey locationsKey =
Registry.LocalMachine.OpenSubKey(rootLocation);
if (locationsKey == null) return;
string[] locations = locationsKey.GetSubKeyNames();
Console.WriteLine(locations.Length.ToString());
foreach (var location in locations)
{
Console.WriteLine(location.ToString());
RegistryKey key = locationsKey.OpenSubKey(location);
if (key == null) continue;
foreach (string keyName in key.GetValueNames())
{
if (keyName.Equals("Prefixes"))
{
string[] Prefixes = ((string[])(key.GetValue(keyName)));
Console.Write("Prefixes ");
foreach (string prefix in Prefixes)
{
Console.Write(prefix);
}
}
else
{
Console.WriteLine(keyName + " {0}", key.GetValue(keyName));
}
}
getRegistryValues([email protected]"\"+location);
}
}
- 1. . Motori di regole Net
- 2. Haskell Riscrivi regole e composizione delle funzioni
- 3. DDD/DI (Unity)/.NET/Composizione Root - Servizi di dominio
- 4. Dove trovare le statistiche di utilizzo della versione .NET?
- 5. Trovare porte seriali USB da un'applicazione .NET in Windows 7
- 6. Dove posso trovare le definizioni delle regole per "eslint: consigliato"?
- 7. Come funzionano effettivamente le regole di esclusione di gitignore?
- 8. Composizione di funzioni in Java?
- 9. Composizione di musica in LaTeX
- 10. .NET wrapper per funzionalità API di Windows
- 11. Composizione di interfacce [Golang]
- 12. Composizione di un elenco di tutte le coppie
- 13. Come trovare "Nome visualizzato" di un servizio in .net?
- 14. Come applicare i criteri di gruppo di Windows utilizzando .NET?
- 15. Dov'è lo Strumento di configurazione .Net (mscorcfg.msc) in Windows 7?
- 16. migrazione CoreData - eliminare le regole di relazioni
- 17. VS2015 MSB3884 avviso: impossibile trovare il file set di regole
- 18. Funzione di composizione variabile?
- 19. Modificare le regole di confronto di tutte le colonne di tutte le tabelle in SQL Server
- 20. Come impostare le regole della password per l'identità di ASP.NET?
- 21. ignorare le regole di analisi del codice in Visual Studio
- 22. Come trovare i nomi dei set di regole PMD in Gradle> 2.0
- 23. Come ottenere le regole di convalida da FluentValidator
- 24. implementazione di composizione e aggregazione in C#?
- 25. C#: metodo elegante per le chiamate al metodo di composizione
- 26. Come funziona la composizione di classe in iOS?
- 27. EmailAddressAttribute regole di convalida
- 28. Architettura di servizi Windows da .Net point
- 29. Android Studio - Le regole di 'mantenimento' di Proguard vengono ignorate?
- 30. Linux Mono Equivalente di .NET Servizio Windows
Questo è fantastico, grazie a tutti e due. – Rob