OSDN Git Service

This commit was manufactured by cvs2svn to create tag 'v1_62_0_811'.
[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   Belib in 'Belib.pas';
88
89 {$R *.RES}
90 {$R gikoResource.res}
91
92 var
93         hMutex: THandle;
94         Wnd{, AppWnd}: HWnd;
95         i: Integer;
96         CDS: TCopyDataStruct;
97 const
98         MutexString: string = 'gikoNaviInstance';
99 begin
100         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
101         if hMutex <> 0 then begin
102                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
103                 Wnd := FindWindow('TGikoForm', nil);
104                 if Wnd <> 0 then begin
105                         //\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³
106                         try
107                                 SetForegroundWindow(Wnd);
108                         except
109                 //\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
110                         end;
111                         if IsIconic(Wnd) then
112                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
113 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
114 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
115 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
116
117                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
118                         for i := 1 to ParamCount do     begin
119                                 CDS.dwData := 0;
120                                 CDS.cbData := Length(ParamStr(i)) + 1;
121                                 GetMem(CDS.lpData, CDS.cbData);
122                                 try
123                                         StrPCopy(CDS.lpData, ParamStr(i));
124                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
125                                 finally
126                                         FreeMem(CDS.lpData);
127                                 end;
128                         end;
129                 end;
130
131                 CloseHandle(hMutex);
132         end else begin
133                 //\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
134                 hMutex := CreateMutex(nil, False, PChar(MutexString));
135                 Application.Initialize;
136                 Application.Title := '\83M\83R\83i\83r';
137                 Application.ShowMainForm := False;
138                 Application.CreateForm(TMainWindow, MainWindow);
139   Application.CreateForm(TFavoriteDM, FavoriteDM);
140   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
141   Application.CreateForm(TGikoDM, GikoDM);
142   Application.CreateForm(TInputAssistDM, InputAssistDM);
143   Application.CreateForm(TReplaceDM, ReplaceDM);
144   Application.CreateForm(TExtPreviewDM, ExtPreviewDM);
145   Application.CreateForm(TGikoForm, GikoForm);
146   Application.CreateForm(TUpdateCheckForm, UpdateCheckForm);
147   Application.Run;
148                 ReleaseMutex(hMutex);
149         end;
150 end.
151