OSDN Git Service

TBrowserRecordを別ファイルに追い出した。
[gikonavigoeson/gikonavi.git] / gikoNavi.dpr
1 program gikoNavi;
2
3 {%ToDo 'gikoNavi.todo'}
4
5 uses
6   Windows,
7   SysUtils,
8   Forms,
9   Messages,
10   MainForm in 'MainForm.pas' {MainWindow},
11   Giko in 'Giko.pas' {GikoForm},
12   Splash in 'Splash.pas' {SplashWindow},
13   About in 'About.pas' {AboutDialog},
14   Option in 'Option.pas' {OptionDialog},
15   Editor in 'Editor.pas' {EditorForm},
16   Round in 'Round.pas' {RoundDialog},
17   ListSelect in 'ListSelect.pas' {ListSelectDialog},
18   Search in 'Search.pas' {SearchDialog},
19   GikoSystem in 'GikoSystem.pas',
20   Setting in 'Setting.pas',
21   BoardGroup in 'BoardGroup.pas',
22   SaveFile in 'SaveFile.pas',
23   Sort in 'Sort.pas',
24   ThreadControl in 'ThreadControl.pas',
25   ItemDownload in 'ItemDownload.pas',
26   RoundData in 'RoundData.pas',
27   RoundName in 'RoundName.pas' {RoundNameDialog},
28   NewBoard in 'NewBoard.pas' {NewBoardDialog},
29   Dolib in 'Dolib.pas',
30   UBase64 in 'Encrypt\UBase64.pas',
31   UCryptAuto in 'Encrypt\UCryptAuto.pas',
32   KeySetting in 'KeySetting.pas' {KeySettingForm},
33   FavoriteAdd in 'FavoriteAdd.pas' {FavoriteAddDialog},
34   NewFavoriteFolder in 'NewFavoriteFolder.pas' {NewFavoriteFolderDialog},
35   FavoriteArrange in 'FavoriteArrange.pas' {FavoriteArrangeDialog},
36   Favorite in 'Favorite.pas' {FavoriteDM: TDataModule},
37   AddressHistory in 'AddressHistory.pas' {AddressHistoryDM: TDataModule},
38   Preview in 'Preview.pas',
39   HTMLDocumentEvent in 'HTMLDocumentEvent.pas',
40   Kotehan in 'Kotehan.pas' {KotehanDialog},
41   MonaUtils in 'MonaUtils.pas',
42   HintWindow in 'HintWindow.pas',
43   GikoUtil in 'GikoUtil.pas',
44   ToolBarSetting in 'ToolBarSetting.pas' {ToolBarSettingDialog},
45   ToolBarUtil in 'ToolBarUtil.pas',
46   YofUtils in 'YofUtils.pas',
47   AbonUnit in 'AbonUnit.pas',
48   IndividualAbon in 'IndividualAbon.pas' {IndividualAbonForm},
49   Trip in 'Trip.pas',
50   GikoXMLDoc in 'GikoXMLDoc.pas',
51   ExternalBoardManager in 'ExternalBoardManager.pas',
52   ExternalThreadItem in 'ExternalThreadItem.pas',
53   ExternalBoardItem in 'ExternalBoardItem.pas',
54   ExternalBoardPlugInMain in 'ExternalBoardPlugInMain.pas',
55   ExternalFilePath in 'ExternalFilePath.pas',
56   MojuUtils in 'MojuUtils.pas',
57   crc in 'gzip_delphi2\crc.pas',
58   gzip in 'gzip_delphi2\gzip.pas',
59   zlib in 'gzip_delphi2\zlib.pas',
60   bmRegExp in 'bmRegExp\bmregexp.pas',
61   GikoCoolBar in 'Component\GikoCoolBar.pas',
62   GikoListView in 'Component\GikoListView.pas',
63   GikoPanel in 'Component\GikoPanel.pas',
64   KuroutSetting in 'KuroutSetting.pas' {KuroutOption},
65   GikoDB in 'GikoDB.pas',
66   GestureModel in 'GestureModel.pas',
67   Gesture in 'Gesture.pas',
68   GikoBayesian in 'GikoBayesian.pas',
69   Y_TextConverter in 'res\ExternalBoardPlugIn\Y_TextConverter.pas',
70   HTMLCreate in 'HTMLCreate.pas',
71   ListViewUtils in 'ListViewUtils.pas',
72   GikoDataModule in 'GikoDataModule.pas' {GikoDM: TDataModule},
73   BrowserRecord in 'BrowserRecord.pas';
74
75 {$R *.RES}
76 {$R gikoResource.res}
77
78 var
79         hMutex: THandle;
80         Wnd{, AppWnd}: HWnd;
81         i: Integer;
82         CDS: TCopyDataStruct;
83 const
84         MutexString: string = 'gikoNaviInstance';
85 begin
86         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
87         if hMutex <> 0 then begin
88                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
89                 Wnd := FindWindow('TGikoForm', nil);
90                 if Wnd <> 0 then begin
91                         //\8aù\82É\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82Ì\83A\83N\83e\83B\83u\89»\81\95\83A\83C\83R\83\93\89»\82³\82ê\82Ä\82½\82ç\95\9c\8c³
92                         SetForegroundWindow(Wnd);
93                         if IsIconic(Wnd) then
94                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
95 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
96 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
97 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
98
99                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
100                         for i := 1 to ParamCount do     begin
101                                 CDS.dwData := 0;
102                                 CDS.cbData := Length(ParamStr(i)) + 1;
103                                 GetMem(CDS.lpData, CDS.cbData);
104                                 try
105                                         StrPCopy(CDS.lpData, ParamStr(i));
106                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
107                                 finally
108                                         FreeMem(CDS.lpData);
109                                 end;
110                         end;
111                 end;
112
113                 CloseHandle(hMutex);
114         end else begin
115                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82È\82¢\8fê\8d\87\82Í\83A\83v\83\8a\83P\81[\83V\83\87\83\93\8bN\93®\91±\8ds
116                 hMutex := CreateMutex(nil, False, PChar(MutexString));
117                 Application.Initialize;
118                 Application.Title := '\83M\83R\83i\83r';
119                 Application.ShowMainForm := False;
120                 Application.CreateForm(TMainWindow, MainWindow);
121   Application.CreateForm(TFavoriteDM, FavoriteDM);
122   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
123   Application.CreateForm(TGikoDM, GikoDM);
124   Application.CreateForm(TGikoForm, GikoForm);
125   Application.Run;
126                 ReleaseMutex(hMutex);
127         end;
128 end.
129