トップ回答者
OSがMe/XPかまたはVista/7かのより簡単な判定法はありますか?

質問
-
相変わらず,質問を重ねていますがご容赦願います。
XPではMy Documentsであるのに対しVistaではDocumentsであることに戸惑いを覚えています。
XPで接続先を
Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Documents and Settings\user\>My Documents\Zen73soft\出納簿5\Suito.mdb"
としたとき,実行時にOSが何かを特定しVistaや7の場合は接続先を以下のように変更しなければいけないことになりますね。
Data Source="C:\Documents and Settings\user\>Documents\Zen73soft\出納簿5\Suito.mdb"
OSがMe/XPかまたはVista/7かのより簡単な判定法を教えていただけますとうれしいのですが。よろしくお願いします。
zen73
回答
すべての返信
-
>いいえ。そんな必要はありません。
渋木宏明さん,ありがとうございます。数々の質問にお答えいただき,お陰さまでようやく疑問がすべて解消した気がします。
private void Form1_Load(object sender, EventArgs e)
{
//ドキュメントフォルダの場所を取得
string path1 = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
//データファイルの親ディレクトリ
string path2 = Application.StartupPath;//フォルダ(Zen73soft)の有無を確認し無いときは作る
string fName = "\\Zen73soft\\出納簿5";
if (!System.IO.Directory.Exists(path1 + fName))
{
System.IO.Directory.CreateDirectory(path1 + fName);
}//データファイルが無ければコピーする
string sName = "\\suito.mdb";
if(System.IO.File.Exists(path1 +fName + sName)==false)
{
System.IO.File.Copy(path2 + sName, path1+fName + sName,true);
}
}
zen73