2011-10-08 25 views
1

我正在將遊戲移植到Windows,並想知道如何存儲高分數據,以便同一系統上的所有用戶都可以共享數據。理想情況下,數據不應該由用戶自己寫,只能由擁有數據的應用程序(在這種情況下爲遊戲)寫入。除了純粹的技術細節之外,我還想知道最佳實踐。在Windows上的用戶之間共享讀取/寫入應用程序數據(在磁盤上)

在Unix上,這可以通過設置可執行文件上的set-UID位並讓可執行文件和共享文件屬於同一個系統用戶(我的例子中的遊戲)來實現。將這些文件放在/ var/lib/games中也是最佳做法。

+0

默認安裝的Windows沒有提供一種方式來在用戶之間共享數據。無論是在註冊表中還是在文件系統中。使用所有用戶都可以訪問的安裝程序創建註冊表項或目錄是簡單的解決方法。那麼,簡單取決於你的安裝肌肉。 –

回答

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?

相關問題