@@ -30,18 +30,42 @@ public static void Initial()
3030 {
3131 if ( ! Directory . Exists ( "core_script" ) )
3232 {
33- System . Windows . MessageBox . Show ( "core_script文件夹丢失!请确保没有乱删文件!如无法恢复,请去官网重新下载该软件。" ) ;
34- Environment . Exit ( 1 ) ;
33+ Directory . CreateDirectory ( "core_script" ) ;
3534 }
35+ CreateFile ( "DefaultFiles/core_script/head.lua" , "core_script/head.lua" , false ) ;
36+ CreateFile ( "DefaultFiles/core_script/JSON.lua" , "core_script/JSON.lua" , false ) ;
37+ CreateFile ( "DefaultFiles/core_script/log.lua" , "core_script/log.lua" , false ) ;
38+ CreateFile ( "DefaultFiles/core_script/once.lua" , "core_script/once.lua" , false ) ;
39+ CreateFile ( "DefaultFiles/core_script/strings.lua" , "core_script/strings.lua" , false ) ;
40+ CreateFile ( "DefaultFiles/core_script/sys.lua" , "core_script/sys.lua" , false ) ;
41+
3642 if ( ! Directory . Exists ( "logs" ) )
3743 Directory . CreateDirectory ( "logs" ) ;
3844 if ( ! Directory . Exists ( "user_script_run" ) )
45+ {
3946 Directory . CreateDirectory ( "user_script_run" ) ;
47+ CreateFile ( "DefaultFiles/user_script_run/AT控制TCP连接-快发模式.lua" , "user_script_run/AT控制TCP连接-快发模式.lua" ) ;
48+ CreateFile ( "DefaultFiles/user_script_run/AT控制TCP连接-慢发模式.lua" , "user_script_run/AT控制TCP连接-慢发模式.lua" ) ;
49+ CreateFile ( "DefaultFiles/user_script_run/example.lua" , "user_script_run/example.lua" ) ;
50+ CreateFile ( "DefaultFiles/user_script_run/循环发送快捷发送区数据.lua" , "user_script_run/循环发送快捷发送区数据.lua" ) ;
51+ }
52+ if ( ! Directory . Exists ( "user_script_run/requires" ) )
53+ Directory . CreateDirectory ( "user_script_run/requires" ) ;
54+ if ( ! Directory . Exists ( "user_script_run/logs" ) )
55+ Directory . CreateDirectory ( "user_script_run/logs" ) ;
56+
4057 if ( ! Directory . Exists ( "user_script_send_convert" ) )
58+ {
4159 Directory . CreateDirectory ( "user_script_send_convert" ) ;
42- if ( ! Directory . Exists ( "user_script_run\\ logs" ) )
43- Directory . CreateDirectory ( "user_script_run\\ logs" ) ;
60+ CreateFile ( "DefaultFiles/user_script_send_convert/16进制数据.lua" , "user_script_send_convert/16进制数据.lua" ) ;
61+ CreateFile ( "DefaultFiles/user_script_send_convert/GPS NMEA.lua" , "user_script_send_convert/GPS NMEA.lua" ) ;
62+ CreateFile ( "DefaultFiles/user_script_send_convert/加上换行回车.lua" , "user_script_send_convert/加上换行回车.lua" ) ;
63+ CreateFile ( "DefaultFiles/user_script_send_convert/解析换行回车的转义字符.lua" , "user_script_send_convert/解析换行回车的转义字符.lua" ) ;
64+ CreateFile ( "DefaultFiles/user_script_send_convert/默认.lua" , "user_script_send_convert/默认.lua" ) ;
65+ }
4466
67+ CreateFile ( "DefaultFiles/LICENSE" , "LICENSE" , false ) ;
68+ CreateFile ( "DefaultFiles/反馈网址.txt" , "反馈网址.txt" , false ) ;
4569
4670 //导入之前的配置文件
4771 if ( Properties . Settings . Default . UpgradeRequired )
@@ -211,5 +235,32 @@ public static string Byte2Hex(byte[] d, string s = "")
211235 }
212236 return r ;
213237 }
238+
239+ /// <summary>
240+ /// 读取软件资源文件内容
241+ /// </summary>
242+ /// <param name="path">路径</param>
243+ /// <returns>内容字节数组</returns>
244+ public static byte [ ] GetAssetsFileContent ( string path )
245+ {
246+ Uri uri = new Uri ( path , UriKind . Relative ) ;
247+ var source = System . Windows . Application . GetResourceStream ( uri ) . Stream ;
248+ byte [ ] f = new byte [ source . Length ] ;
249+ source . Read ( f , 0 , ( int ) source . Length ) ;
250+ return f ;
251+ }
252+
253+ /// <summary>
254+ /// 取出文件
255+ /// </summary>
256+ /// <param name="insidePath">软件内部的路径</param>
257+ /// <param name="outPath">需要释放到的路径</param>
258+ /// <param name="d">是否覆盖</param>
259+ public static void CreateFile ( string insidePath , string outPath , bool d = true )
260+ {
261+ if ( ! File . Exists ( outPath ) || d )
262+ File . WriteAllBytes ( outPath , GetAssetsFileContent ( insidePath ) ) ;
263+ }
264+
214265 }
215266}
0 commit comments