OSDN Git Service

初期化処理の改善:amodi.exeの起動を正しく検知できず、amodiが使用できなくなる場合の対応
[dokopop/dokopop.git] / DCHookTest / DCHookMain.cpp
index 3893171..03fac5a 100644 (file)
@@ -184,9 +184,6 @@ void __fastcall TDCHookMainForm::FormCreate(TObject *Sender)
        }
 
 //     Application->OnIdle = IdleHandler;
-
-       if (fWow64)
-               tmReInit64->Enabled = true;
 }
 //---------------------------------------------------------------------------
 void __fastcall TDCHookMainForm::FormCloseQuery(TObject *Sender,
@@ -582,16 +579,17 @@ void __fastcall TDCHookMainForm::tmMODINotifyTimer(TObject *Sender)
        }
 }
 //---------------------------------------------------------------------------
-void __fastcall TDCHookMainForm::tmReInit64Timer(TObject *Sender)
+void __fastcall TDCHookMainForm::tmReInitTimer(TObject *Sender)
 {
-       // \8f\89\89ñ\8bN\93®\8e\9e\82Ì\82Ý\82±\82Ì\8f\88\97\9d\82ð\82µ\82È\82¢\82Æpopup\82µ\82È\82¢
-       // \8dÄ\83\8d\83O\83C\83\93\8e\9e\82Í\95s\97v
-       tmReInit64->Enabled = false;
-       Unhook();
-       bool use64 = Ini->ReadInteger(PFS_CONFIG, PFS_USE64, false);
-       Ini->WriteInteger(PFS_CONFIG, PFS_USE64, !use64);
-       Hook();
-       Ini->WriteInteger(PFS_CONFIG, PFS_USE64, use64);
+       // amodi.exe\82Ìlaunch\82É\94ñ\8fí\82É\8e\9e\8aÔ\82ª\82©\82©\82é\8fê\8d\87\82ª\82 \82é
+       // ex.\8cÃ\82¢PC\82Åstartup\82É\93o\98^\82µ\82Ä\82¢\82é\8fê\8d\87
+       //    \81¨input idle\82É\82È\82Á\82Ä\82àmain window\82Ì\90\90¬\82É\8e\9e\8aÔ\82ª\82©\82©\82Á\82Ä\82¢\82é\82Ì\82©\82à\82µ\82ê\82È\82¢
+       // AMODIAvail\82ªtrue\82É\82È\82é\82Ü\82Å\8f\89\8aú\89»\82ð\91±\82¯\82é
+       tmReInit->Enabled = false;
+       SetupAMODI();
+       if (AMODIAvail){
+               SetupConfig2();
+       }
 }
 //---------------------------------------------------------------------------
 // Mouse Events
@@ -1340,6 +1338,8 @@ void TDCHookMainForm::SetupAMODI()
                                HWND hwnd = FindAMODI();
                                if (hwnd)
                                        AMODIAvail = true;
+                               else
+                                       tmReInit->Enabled = true;       // retry later
                        }
                }
        }