Ejemplo de desarrollo de software de Windows 7: UAC, versión del sistema, permisos

  

vea las características geniales de Win7 babeando, ¿no puede dejar de querer abrazar? No se preocupe, el temperamento de Win7 no es bueno. Para abarcar sus nuevas características, nuestro software debe casarlo, funciona bien con Win7. Software pequeño y mediano desarrollado por desarrolladores individuales, la función es relativamente simple y el grado de cercanía con el sistema es generalmente bajo. ¡Agregar algunos de los elementos necesarios de Win7 para ejecutar normalmente está bien!

Las condiciones necesarias para casarse con Win7

Tenemos que agregar la detección de la versión del sistema y los elementos de selección de la ruta de instalación al software. ¿Por qué debemos considerarlos?

Condición requerida 1: Versión del sistema de detección

En la etapa inicial de operación, el software debe determinar el tipo y el número de versión del sistema operativo y ejecutar un código específico de acuerdo con el tipo de sistema operativo. La misma función se encuentra en diferentes sistemas operativos. Código diferente puede ser ejecutado en él. La mayoría del software no funciona correctamente en Win7 porque está determinado por el fallo de la versión del sistema operativo.

Cuando se produce el error de detección de versión, muchos programas seguirán el error. Los usuarios pueden encontrar que después de hacer doble clic en la imagen del software, no se refleja nada, o puede ver un cuadro de diálogo "Debe ejecutar en Microsoft Windows XP o Versión de actualización ", pero en realidad la computadora tiene Win7 instalado.

Condición requerida 2: se adapta a los derechos de usuario

Win7 ejecuta una cuenta que no es de administrador de forma predeterminada, y los permisos son relativamente pequeños. El programa de instalación del software escribirá algunos datos en los Archivos de programa, el directorio de instalación de Windows y el registro, incluido el disco del sistema (el software puede guardar algunos datos del usuario en la carpeta del sistema o el registro en tiempo de ejecución), si el usuario actual Los permisos no son suficientes y el software no puede ingresar a Win7 normalmente.

Pequeño conocimiento: UAC es una forma de reducir los permisos predeterminados de los usuarios de Windows, lo que brindará seguridad a los usuarios, puede contener algunos ataques de virus hasta cierto punto: desactive el software antivirus, comience Copie y distribuya procesos de virus, inyecte clientes de juegos en línea y escuche las operaciones del teclado para robar contraseñas.

Por ejemplo, los datos parecen guardarse correctamente, pero no se pueden encontrar cuando se escribe la ubicación, o cuando el cierre de sesión se cambia a otro usuario de Windows, no se pueden encontrar los datos guardados. La causa principal de este tipo de problema es el mecanismo UAC de Win7, que reduce los permisos predeterminados de los usuarios de Windows, lo que hace imposible que algunas operaciones comunes cambien la configuración del sistema y las carpetas protegidas del sistema.

Consejo: cuando el software desea combinar algunas funciones del sistema, debe llamar a la API correspondiente. La llamada a la API adecuada es muy importante para que se ejecute el software. Comenzaremos con la función cool de Win7 del próximo número y presentaremos cómo llamar correctamente. La última API de Win7, con la única barra de tareas personalizada de Win7, lista de saltos, superposición de iconos, barra de progreso, miniaturas con pestañas y miniaturas Barra de herramientas (barra de herramientas en miniatura) ......

Los elementos necesarios de "wedding"

Nuestro software debe estar correctamente vinculado a Win7, y los siguientes elementos deben agregarse al software.

1. Número de versión del sistema operativo de detección de código.

Agregue código al software para determinar si el sistema operativo es Win7 o 2008 Server:

C #

if ( Environment.OSVersion.Version > nueva versión (5, 1))
{MessageBox.Show ("Windows 7 o Windows 2008 Server", "Sistema operativo",
MessageBoxButtons.OK, MessageBoxIcon.Error); BR> return;
}

2. Intente almacenar datos en un disco que no sea del sistema

Software No instale en el disco del sistema de forma predeterminada. Al escribir la ruta de instalación del software, tenga en cuenta esto. Además, debe agregar el código para modificar el registro de lectura y escritura en el software, use el valor clave en HKEY_CURRENT_USER \\ Software como el nodo para almacenar datos:

static void Main (string [] args)
{
var registryKey = Registry.CurrentUser.CreateSubKey (
@ "Software \\ test");
registryKey.SetValue ("name", "zswang");
registryKey = Registry.CurrentUser.OpenSubKey ( @ "Software \\ test");
Console.WriteLine (string.Format ("{0} = {1} \\ r \\ n",
"name", registryKey.GetValue ("name")));
}


3. Mejore el permiso de ejecución del programa

Si el usuario ingresa al sistema como administrador y desea instalar el software en el disco del sistema, ¿Qué tal? Necesidad de determinar los permisos de los permisos de usuario, la solución simple es agregar un archivo de manifiesto. En la carpeta ejecutable, busque el archivo con el mismo nombre que el archivo ejecutable y la extensión .manifest. Ingrese el siguiente código:

<? XML version = "1.0" encoding = "UTF-8" independiente = "yes"? >
< assembly XMLns = "urn: schemas-microsoft-com: asm.v1" manifestVersion = "1.0" >
< assemblyIdentity version = "1.0.0.0"
processorArchitecture = "X86"
name = "test"
type = "win32" />
< description > Descripción de su aplicación < /description >
<! - Identifique la Requisitos de seguridad de la aplicación. - >
< trustInfo XMLns = "urn: schemas-microsoft-com: asm.v2" >
< security >
< requiredPrivileges >
< requiredExecutionLevel
level = "requireAdministrator"
uiAccess = "false" />
< /requiredPrivileges >
< /security >
< /trustInfo >
< /assembly >

Copyright © Conocimiento de Windows All Rights Reserved