@@ -106,6 +106,40 @@ DllThread (LPVOID user)
106
106
unx::TimingFix::Init ();
107
107
108
108
unx::WindowManager::Init ();
109
+
110
+ CreateThread (
111
+ nullptr , 0 ,
112
+ [](LPVOID user)->
113
+ DWORD
114
+ {
115
+ SK_UpdateSoftware_pfn SK_UpdateSoftware =
116
+ (SK_UpdateSoftware_pfn)
117
+ GetProcAddress ( hInjectorDLL,
118
+ " SK_UpdateSoftware" );
119
+
120
+ SK_FetchVersionInfo_pfn SK_FetchVersionInfo =
121
+ (SK_FetchVersionInfo_pfn)
122
+ GetProcAddress ( hInjectorDLL,
123
+ " SK_FetchVersionInfo" );
124
+
125
+ if (! wcsstr (injector_name.c_str (), L" SpecialK" )) {
126
+ if ( SK_FetchVersionInfo != nullptr &&
127
+ SK_UpdateSoftware != nullptr ) {
128
+ if (SK_FetchVersionInfo (L" UnX" )) {
129
+ SK_UpdateSoftware (L" UnX" );
130
+ }
131
+ }
132
+ }
133
+
134
+ CloseHandle (GetCurrentThread ());
135
+
136
+ return 0 ;
137
+ },
138
+
139
+ nullptr ,
140
+ 0x00 ,
141
+ nullptr
142
+ );
109
143
}
110
144
111
145
return 0 ;
@@ -125,26 +159,6 @@ SKPlugIn_Init (HMODULE hModSpecialK)
125
159
126
160
hInjectorDLL = hModSpecialK;
127
161
128
-
129
- SK_UpdateSoftware_pfn SK_UpdateSoftware =
130
- (SK_UpdateSoftware_pfn)
131
- GetProcAddress ( hInjectorDLL,
132
- " SK_UpdateSoftware" );
133
-
134
- SK_FetchVersionInfo_pfn SK_FetchVersionInfo =
135
- (SK_FetchVersionInfo_pfn)
136
- GetProcAddress ( hInjectorDLL,
137
- " SK_FetchVersionInfo" );
138
-
139
- if (! wcsstr (injector_name.c_str (), L" SpecialK" )) {
140
- if ( SK_FetchVersionInfo != nullptr &&
141
- SK_UpdateSoftware != nullptr ) {
142
- if (SK_FetchVersionInfo (L" UnX" )) {
143
- SK_UpdateSoftware (L" UnX" );
144
- }
145
- }
146
- }
147
-
148
162
DllThread (nullptr );
149
163
150
164
return TRUE ;
0 commit comments