[ad_1]
He creado un programa multiusuario sencillo que funciona perfectamente desde el directorio A del usuario de PC. Pero los problemas ocurren cuando el usuario B’ hasta el usuario D’, en la misma PC, ejecuta el programa e intenta acceder a estos archivos de fecha. Los resultados suelen ser bastante malos. Intenté establecer permisos para cada usuario; debajo de cada una de las propiedades de los archivos, antes de cada ejecución. Pero después de ejecutar el programa desde el usuario B hasta el usuario D, los permisos que se establecieron antes parecen haber desaparecido, como si no los hubiera hecho en absoluto. Esto ha estado sucediendo por un tiempo y no puedo entender nada al respecto. ¿Cómo puedo hacer que los permisos sean creíbles, buenos y correctos para no tener problemas al ejecutar el programa en cualquier lugar de esta PC? En otras palabras, asegúrate de que todo salga según lo planeado, no tengas problemas. Cualquier idea correctiva y ayuda seguramente sería útil. ¿Qué estoy haciendo mal? Gracias,
Lo que he probado:
He usado _fsopen(), fopen(), fsopen_s(). cambiándolo constantemente, dale.
Solución 1
Para obtener las rutas, Windows tiene una API especial llamada Interfaces de carpetas conocidas o el más reciente SHGetFolderPath. Los parámetros se utilizan como identificador de qué ruta devuelve.
Pero primero necesitas algún concepto para tus datos. Lo mejor es cuando cada usuario tiene sus propios datos o algunos datos comunes. Esto resuelve el problema de acceso. Usar la elevación es una mala idea.
Solución 2
Le sugiero que mueva los archivos de datos a una carpeta de datos de “todos los usuarios”: Windows tiene una carpeta de datos que está disponible para todos los usuarios: ProgramData.
Esta es una carpeta oculta, normalmente en la raíz de la unidad C: (pero se puede mover; abra el Explorador de archivos y escriba %PROGRAMDATA% en la barra de direcciones para encontrarla). Cree una carpeta allí para su aplicación y los archivos de datos dentro de esa carpeta serán totalmente accesibles para todos los usuarios sin ninguna elevación.
[ad_2]
コメント