2011-10-08 2 views
1

저는 게임을 Windows로 이식하려고합니다. 예를 들어 같은 시스템의 모든 사용자가 데이터를 공유 할 수 있도록 어떻게 최고 기록 데이터를 저장해야하는지 궁금합니다. 이상적으로는 데이터를 소유 한 응용 프로그램 (이 경우 게임)에 의해서만 사용자가 직접 쓸 수 있어야합니다. 순수한 기술적 세부 사항 외에도 모범 사례에 대해 궁금합니다.Windows에서 사용자간에 응용 프로그램 데이터 읽기/쓰기 (컴퓨터)

유닉스에서 이것은 실행 파일에 set-UID 비트를 설정하여 문제의 실행 파일과 공유 파일을 동일한 시스템 사용자 (내 경우에는 게임)에 속하게 할 수 있습니다. 또한 이러한 파일을/var/lib/games에 배치하는 것이 좋습니다.

+0

기본 윈도우의 설치는 사용자간에 데이터를 공유 할 수있는 방법을 제공하지 않습니다. 레지스트리 나 파일 시스템 모두에서. 모든 사용자가 액세스 할 수있는 설치 프로그램으로 레지스트리 키 또는 디렉토리를 만드는 것이 간단한 해결책입니다. 글쎄, 설치 근육에 따라 간단합니다. –

답변

0

먼저, 당신이 할 수없는 것을 :

  1. 당신은 몇 가지 실행 변화 몇 가지 값을 할 수는 없지만, 사용자가 그렇게에서 그것을 실행 방지합니다.
  2. 일부 로더 (다른 실행 파일)를 사용하지 않는 한 일부 실행 파일을 특정 계정으로 실행할 수 없습니다.
  3. 사용자가 관리자가 아닌 한 옵션을 사용할 수 없다면 레지스트리를 사용하여 공유 데이터를 저장할 수 없습니다. 이제

, 당신이 할 수있는 일 :

  1. 데이터베이스를 사용 ...
  2. 사용 경우 ProgramData 폴더 (XP에서 "모든 사용자").
  3. 로더를 사용하여 동일한 사용자로 앱을 계속 실행하면 해당 사용자의 레지스트리와 AppData 폴더가 열립니다 (기술적으로 가능하다는 이유로 잘못된 생각).

# 1을 사용할 수 없다면 2 번으로 가겠습니다.

이 주제에 대한 좋은 읽기 : Where Should I Store my Data and Configuration Files if I Target Multiple OS Versions?

관련 문제