Noticias Weblogs Foros Wiki Código

RecorteX

» csharp
317 usuarios y 202 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta csharp

RSS
Recortes: 12

Etiquetas relacionadas:
splash
hilos
threading
js
win32
multithreading
xml
registro
Explorer

Obtener la versión de Explorer desde C#

Internet Explorer, al contrario que otros navegadores, no almacena la versión actual de su navegador en el registro. La única forma de obtenerlo es accediendo a la función DllGetVersion presente en la librería "shdocvw.dll" que es la encargada de realizar el renderizado de las páginas.
Para ello tan solo debemos realizar los siguientes sencillos pasos:

1º Declarar la función y la librería en la que se encuentra dentro de la clase que va a utilizarlo.
 
[System.Runtime.InteropServices.DllImport ("shdocvw.dll")]
private static extern int DllGetVersion (ref DLLVERSIONINFO pdvi);
 
2º Definir la estructura que almacenará la información de la versión
 
struct DLLVERSIONINFO
{
  public uint cbSize,
  dwMajorVersion,
  dwMinorVersion,
  dwBuildNumber,
  dwPlatformID;
}
 
3º Llamar a la función y obtener la información.
 
DLLVERSIONINFO dvi = new DLLVERSIONINFO ();
dvi.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf (dvi);
int resultado = DllGetVersion (ref dvi);
 
if (resultado == 0)
  return string.Format ("{0}.{1}.{2}", dvi.dwMajorVersion, dvi.dwMinorVersion, dvi.dwBuildNumber);
else
  return "?";
 

Crear un fichero XML

El código para generar un documento XML es el siguiente:
 
public void ExportarXML(string filename)
{
	XmlTextWriter writer = new XmlTextWriter(filename, System.Text.Encoding.UTF8);
        
	//Usa indentación por legibilidad
	writer.Formatting = Formatting.Indented;
        
	//Escribe la declaración del XML
	writer.WriteStartDocument();
        
	//Escribe el elemento raiz
	writer.WriteStartElement("persona");
        
	//Escribe los elementos dentro de sus etiquetas
	writer.WriteElementString("nombre", "Emanuel");
	writer.WriteElementString("apellido", "Lopez");
	writer.WriteElementString("nacionalidad", "Argentino");
      
	writer.WriteEndElement();
 
	writer.Flush();
	writer.Close();  
}
 
la salida sera la siguiente
 
<?xml version="1.0" encoding="utf-8"?>
<persona>
  <nombre>Emanuel</nombre>
  <apellido>Lopez</apellido>
  <nacionalidad>Argentino</nacionalidad>
<persona>
 
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin