OSDN Git Service

This commit was manufactured by cvs2svn to create branch 'Bb61'.
[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   Sort in 'Sort.pas',
23   ThreadControl in 'ThreadControl.pas',
24   ItemDownload in 'ItemDownload.pas',
25   RoundData in 'RoundData.pas',
26   RoundName in 'RoundName.pas' {RoundNameDialog},
27   NewBoard in 'NewBoard.pas' {NewBoardDialog},
28   Dolib in 'Dolib.pas',
29   UBase64 in 'Encrypt\UBase64.pas',
30   UCryptAuto in 'Encrypt\UCryptAuto.pas',
31   KeySetting in 'KeySetting.pas' {KeySettingForm},
32   FavoriteAdd in 'FavoriteAdd.pas' {FavoriteAddDialog},
33   NewFavoriteFolder in 'NewFavoriteFolder.pas' {NewFavoriteFolderDialog},
34   FavoriteArrange in 'FavoriteArrange.pas' {FavoriteArrangeDialog},
35   Favorite in 'Favorite.pas' {FavoriteDM: TDataModule},
36   AddressHistory in 'AddressHistory.pas' {AddressHistoryDM: TDataModule},
37   Preview in 'Preview.pas',
38   HTMLDocumentEvent in 'HTMLDocumentEvent.pas',
39   Kotehan in 'Kotehan.pas' {KotehanDialog},
40   HintWindow in 'HintWindow.pas',
41   GikoUtil in 'GikoUtil.pas',
42   ToolBarSetting in 'ToolBarSetting.pas' {ToolBarSettingDialog},
43   ToolBarUtil in 'ToolBarUtil.pas',
44   YofUtils in 'YofUtils.pas',
45   AbonUnit in 'AbonUnit.pas',
46   IndividualAbon in 'IndividualAbon.pas' {IndividualAbonForm},
47   Trip in 'Trip.pas',
48   GikoXMLDoc in 'GikoXMLDoc.pas',
49   ExternalBoardManager in 'ExternalBoardManager.pas',
50   ExternalThreadItem in 'ExternalThreadItem.pas',
51   ExternalBoardItem in 'ExternalBoardItem.pas',
52   ExternalBoardPlugInMain in 'ExternalBoardPlugInMain.pas',
53   ExternalFilePath in 'ExternalFilePath.pas',
54   MojuUtils in 'MojuUtils.pas',
55   gzip in 'gzip_delphi2\gzip.pas',
56   zlib in 'gzip_delphi2\zlib.pas',
57   bmRegExp in 'bmRegExp\bmregexp.pas',
58   GikoCoolBar in 'Component\GikoCoolBar.pas',
59   GikoListView in 'Component\GikoListView.pas',
60   GikoPanel in 'Component\GikoPanel.pas',
61   KuroutSetting in 'KuroutSetting.pas' {KuroutOption},
62   GikoDB in 'GikoDB.pas',
63   GestureModel in 'GestureModel.pas',
64   Gesture in 'Gesture.pas',
65   GikoBayesian in 'GikoBayesian.pas',
66   Y_TextConverter in 'res\ExternalBoardPlugIn\Y_TextConverter.pas',
67   HTMLCreate in 'HTMLCreate.pas',
68   ListViewUtils in 'ListViewUtils.pas',
69   GikoDataModule in 'GikoDataModule.pas' {GikoDM: TDataModule},
70   BrowserRecord in 'BrowserRecord.pas',
71   GikoMessage in 'GikoMessage.pas',
72   InputAssist in 'InputAssist.pas' {InputAssistForm},
73   InputAssistDataModule in 'InputAssistDataModule.pas' {InputAssistDM: TDataModule},
74   DefaultFileManager in 'DefaultFileManager.pas',
75   MoveHistoryItem in 'MoveHistoryItem.pas',
76   SambaTimer in 'SambaTimer.pas',
77   HistoryList in 'HistoryList.pas',
78   ReplaceDataModule in 'ReplaceDataModule.pas' {ReplaceDM: TDataModule},
79   ResPopupBrowser in 'ResPopupBrowser.pas',
80   SkinFiles in 'SkinFiles.pas',
81   NewBoardURL in 'NewBoardURL.pas' {NewBoardURLForm},
82   ExtPreviewDatamodule in 'ExtPreviewDatamodule.pas' {ExtPreviewDM: TDataModule},
83   UpdateCheck in 'UpdateCheck.pas' {UpdateCheckForm},
84   SHA1Unit in 'SHA1Unit.pas',
85   PopupMenuUtil in 'PopupMenuUtil.pas',
86   PopupMenuSetting in 'PopupMenuSetting.pas' {PopupMenuSettingDialog};
87
88 {$R *.RES}
89 {$R gikoResource.res}
90
91 var
92         hMutex: THandle;
93         Wnd{, AppWnd}: HWnd;
94         i: Integer;
95         CDS: TCopyDataStruct;
96 const
97         MutexString: string = 'gikoNaviInstance';
98 begin
99         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
100         if hMutex <> 0 then begin
101                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
102                 Wnd := FindWindow('TGikoForm', nil);
103                 if Wnd <> 0 then begin
104                         //\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³
105                         try
106                                 SetForegroundWindow(Wnd);
107                         except
108                 //\8f\89\8aú\89»\82ª\8fI\82í\82Á\82Ä\82¢\82È\82¢\82Æ\83t\83H\83A\83O\83\89\83E\83\93\83h\82É\88Ú\82¹\82¸\82É\97á\8aO\94­\90
109                         end;
110                         if IsIconic(Wnd) then
111                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
112 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
113 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
114 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
115
116                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
117                         for i := 1 to ParamCount do     begin
118                                 CDS.dwData := 0;
119                                 CDS.cbData := Length(ParamStr(i)) + 1;
120                                 GetMem(CDS.lpData, CDS.cbData);
121                                 try
122                                         StrPCopy(CDS.lpData, ParamStr(i));
123                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
124                                 finally
125                                         FreeMem(CDS.lpData);
126                                 end;
127                         end;
128                 end;
129
130                 CloseHandle(hMutex);
131         end else begin
132                 //\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
133                 hMutex := CreateMutex(nil, False, PChar(MutexString));
134                 Application.Initialize;
135                 Application.Title := '\83M\83R\83i\83r';
136                 Application.ShowMainForm := False;
137                 Application.CreateForm(TMainWindow, MainWindow);
138   Application.CreateForm(TFavoriteDM, FavoriteDM);
139   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
140   Application.CreateForm(TGikoDM, GikoDM);
141   Application.CreateForm(TInputAssistDM, InputAssistDM);
142   Application.CreateForm(TReplaceDM, ReplaceDM);
143   Application.CreateForm(TExtPreviewDM, ExtPreviewDM);
144   Application.CreateForm(TGikoForm, GikoForm);
145   Application.CreateForm(TUpdateCheckForm, UpdateCheckForm);
146   Application.Run;
147                 ReleaseMutex(hMutex);
148         end;
149 end.
150