質問編集履歴

3

前提追加

2019/06/11 01:07

投稿

KKEENN
KKEENN

スコア12

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,18 @@
13
13
  するように作成しております。
14
14
 
15
15
 
16
+
17
+ 当アプリでは「ファイル名.abc」にアプリの情報を保存しております。
18
+
19
+ アプリを起動する場合「ファイル名.abc」を読込処理を行う関係上
20
+
21
+ 「ファイル名.abc」の指定が必須となります。
22
+
23
+
24
+
25
+ そのためアプリを開き「ファイル名.abc」を選択するというオペレーションだけではなく
26
+
27
+ 「ファイル名.abc」を直接実行しアプリを起動とする方式を取り入れたいと考えております。
16
28
 
17
29
 
18
30
 

2

コード再アップ

2019/06/11 01:07

投稿

KKEENN
KKEENN

スコア12

test CHANGED
File without changes
test CHANGED
@@ -48,7 +48,9 @@
48
48
 
49
49
 
50
50
 
51
- ### コード```ここに言語を入力
51
+ ### コード
52
+
53
+ ```
52
54
 
53
55
  /// <summary>
54
56
 

1

ソースコードの追加

2019/06/11 01:03

投稿

KKEENN
KKEENN

スコア12

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,85 @@
45
45
  資材(dllなど)を配置すると動作するため実行ディレクトリなどの設定が
46
46
 
47
47
  漏れているようなのですが実行ディレクトリの設定方法などどのように行えばよろしいでしょうか?
48
+
49
+
50
+
51
+ ### コード```ここに言語を入力
52
+
53
+ /// <summary>
54
+
55
+ /// App.xaml の相互作用ロジック
56
+
57
+ /// </summary>
58
+
59
+ public partial class App : Application
60
+
61
+ {'
62
+
63
+ public App()
64
+
65
+ {'
66
+
67
+
68
+
69
+ try
70
+
71
+ {
72
+
73
+ var cmd = System.Environment.GetCommandLineArgs();
74
+
75
+ string exePath = cmd[0];
76
+
77
+ string startupname = System.IO.Path.GetFileName(exePath);
78
+
79
+ string startupPath = System.IO.Path.GetDirectoryName(exePath);
80
+
81
+
82
+
83
+
84
+
85
+ if (cmd.Length > 1)
86
+
87
+ {'
88
+
89
+ // 関連付けファイルから起動された場合の処理
90
+
91
+ System.Environment.CurrentDirectory = startupPath;
92
+
93
+ System.IO.Directory.SetCurrentDirectory(startupPath);
94
+
95
+
96
+
97
+ // 以下グローバル変数参照時に「クラスGlobalVariableタイプの初期化子が例外をスローしました」と例外発生
98
+
99
+ GlobalVariable.ProjectWorkPath = cmd[1];
100
+
101
+ }
102
+
103
+ else
104
+
105
+ {
106
+
107
+ GlobalVariable.ProjectWorkPath = string.Empty;
108
+
109
+ }
110
+
111
+
112
+
113
+ GlobalVariable.db = new DataAccess.DataAccessor();
114
+
115
+ }
116
+
117
+ catch (System.Exception ex)
118
+
119
+ {
120
+
121
+ MessageBox.Show(ex.Message);
122
+
123
+ MessageBox.Show(ex.StackTrace);
124
+
125
+ }
126
+
127
+ }
128
+
129
+ ```