OSDN Git Service

#24481 DTXManiaLog.txtに読取専用属性がついていたときにはその旨エラー表示するよう修正。
authoryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 20 Feb 2011 10:23:37 +0000 (10:23 +0000)
committeryyagi <yyagi@16f42ceb-6dc6-49c8-ba94-f2d53467949d>
Sun, 20 Feb 2011 10:23:37 +0000 (10:23 +0000)
git-svn-id: http://svn.osdn.jp/svnroot/dtxmania/trunk@121 16f42ceb-6dc6-49c8-ba94-f2d53467949d

DTXManiaプロジェクト/コード/全体/CDTXMania.cs

index 2bd0eaa..e7c0135 100644 (file)
@@ -1,5 +1,6 @@
 using System;\r
 using System.Collections.Generic;\r
+using System.Globalization;\r
 using System.Text;\r
 using System.Windows.Forms;\r
 using System.Drawing;\r
@@ -1163,7 +1164,20 @@ for (int i = 0; i < 3; i++) {
                        Trace.AutoFlush = true;\r
                        if( ConfigIni.bログ出力 )\r
                        {\r
-                               Trace.Listeners.Add( new CTraceLogListener( new StreamWriter( "DTXManiaLog.txt", false, Encoding.GetEncoding( "shift-jis" ) ) ) );\r
+                               try\r
+                               {\r
+                                       Trace.Listeners.Add( new CTraceLogListener( new StreamWriter( "DTXManiaLog.txt", false, Encoding.GetEncoding( "shift-jis" ) ) ) );\r
+                               }\r
+                               catch ( System.UnauthorizedAccessException )                    // #24481 2011.2.20 yyagi\r
+                               {\r
+                                       int c = (CultureInfo.CurrentCulture.TwoLetterISOLanguageName == "ja")? 0 : 1;\r
+                                       string[] mes_writeErr = {\r
+                                               "DTXManiaLog.txtへの書き込みができませんでした。書き込みできるようにしてから、再度起動してください。",\r
+                                               "Failed to write DTXManiaLog.txt. Please set it writable and try again."\r
+                                       };\r
+                                       MessageBox.Show( mes_writeErr[c], "DTXMania boot error", MessageBoxButtons.OK, MessageBoxIcon.Error );\r
+                                       Environment.Exit(1);\r
+                               }\r
                        }\r
                        Trace.WriteLine("");\r
                        Trace.WriteLine( "DTXMania powered by YAMAHA Silent Session Drums" );\r