@@ -42,6 +42,16 @@ int main()
4242 puts ("注册表加载成功\n" );
4343 InitBOITDirVar ();
4444 break ;
45+ case SETTINGS_ERR_OLD_SOFTWARE :
46+ puts ("检测到您正在使用的软件比之前使用过的版本更低。请使用高版本的软件\n如果需要使用低版本的软件请先在高版本软件中卸载之前的安装。\n" );
47+ puts ("按任意键退出程序" );
48+ ch_ret = _getch ();
49+ return 0 ;
50+ case SETTINGS_ERR_OUT_OF_DATE :
51+ puts ("检测到您正在使用新版本的软件。请先用旧版本软件移除之前的安装!" );
52+ puts ("按任意键退出程序" );
53+ ch_ret = _getch ();
54+ return 0 ;
4555 case SETTINGS_ERROR :
4656 if (ConsoleQueryYesNo ("注册表加载失败,是否清空设置并初始化 ?" ) == FALSE)
4757 {
@@ -78,9 +88,9 @@ int main()
7888 printf ("将在目录 %s 初始化BOIT\n" , InBaseDir );
7989 PathAppendA (InBaseDir , "BOIT\\" );
8090
81-
91+
8292 MultiByteToWideChar (CP_ACP , 0 , InBaseDir , -1 , GetBOITBaseDir (), MAX_PATH );
83-
93+
8494 if (InitializeSettings (GetBOITBaseDir ()) != SETTINGS_INITIALIZED )
8595 {
8696 //Oops
@@ -98,7 +108,7 @@ int main()
98108 }
99109 break ;
100110 }
101-
111+
102112 }
103113
104114 bBOITRemove = 0 ;//是否卸载程序标识
@@ -108,15 +118,19 @@ int main()
108118 InitServerState ();
109119 InitSendEventDispatch ();;
110120 InitEstablishConn ();
111- TryEstablishConn ();
112121
113- puts ("连接成功!\n" );
114-
115122 StartInputThread (); // 启动控制台输入线程
116-
117- StartRecvEventHandler ();
118123
119- WaitForSingleObject (hEventServerStop , INFINITE );
124+ if (TryEstablishConn (hEventServerStop ) != -1 )
125+ {
126+ puts ("连接成功!\n" );
127+
128+ StartRecvEventHandler ();
129+
130+ WaitForSingleObject (hEventServerStop , INFINITE );
131+ }
132+
133+
120134
121135 //清理工作
122136
@@ -157,7 +171,7 @@ int main()
157171 return 0 ;
158172}
159173
160- BOOL ConsoleQueryYesNo (char * QueryText )
174+ BOOL ConsoleQueryYesNo (char * QueryText )
161175{
162176 int ch_ret ;
163177 while (1 )
0 commit comments