OSDN Git Service

1.60.2.794
[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   {crc in 'gzip_delphi2\crc.pas', //zlib\8dX\90V\82É\94º\82¢\8dí\8f\9c}
56   gzip in 'gzip_delphi2\gzip.pas',
57   zlib in 'gzip_delphi2\zlib.pas',
58   bmRegExp in 'bmRegExp\bmregexp.pas',
59   GikoCoolBar in 'Component\GikoCoolBar.pas',
60   GikoListView in 'Component\GikoListView.pas',
61   GikoPanel in 'Component\GikoPanel.pas',
62   KuroutSetting in 'KuroutSetting.pas' {KuroutOption},
63   GikoDB in 'GikoDB.pas',
64   GestureModel in 'GestureModel.pas',
65   Gesture in 'Gesture.pas',
66   GikoBayesian in 'GikoBayesian.pas',
67   Y_TextConverter in 'res\ExternalBoardPlugIn\Y_TextConverter.pas',
68   HTMLCreate in 'HTMLCreate.pas',
69   ListViewUtils in 'ListViewUtils.pas',
70   GikoDataModule in 'GikoDataModule.pas' {GikoDM: TDataModule},
71   BrowserRecord in 'BrowserRecord.pas',
72   GikoMessage in 'GikoMessage.pas',
73   InputAssist in 'InputAssist.pas' {InputAssistForm},
74   InputAssistDataModule in 'InputAssistDataModule.pas' {InputAssistDM: TDataModule},
75   DefaultFileManager in 'DefaultFileManager.pas',
76   MoveHistoryItem in 'MoveHistoryItem.pas',
77   SambaTimer in 'SambaTimer.pas',
78   HistoryList in 'HistoryList.pas',
79   ReplaceDataModule in 'ReplaceDataModule.pas' {ReplaceDM: TDataModule},
80   ResPopupBrowser in 'ResPopupBrowser.pas',
81   SkinFiles in 'SkinFiles.pas',
82   NewBoardURL in 'NewBoardURL.pas' {NewBoardURLForm},
83   ExtPreviewDatamodule in 'ExtPreviewDatamodule.pas' {ExtPreviewDM: TDataModule},
84   UpdateCheck in 'UpdateCheck.pas' {UpdateCheckForm};
85
86 {$R *.RES}
87 {$R gikoResource.res}
88
89 var
90         hMutex: THandle;
91         Wnd{, AppWnd}: HWnd;
92         i: Integer;
93         CDS: TCopyDataStruct;
94 const
95         MutexString: string = 'gikoNaviInstance';
96 begin
97         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
98         if hMutex <> 0 then begin
99                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
100                 Wnd := FindWindow('TGikoForm', nil);
101                 if Wnd <> 0 then begin
102                         //\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³
103                         try
104                                 SetForegroundWindow(Wnd);
105                         except
106                 //\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
107                         end;
108                         if IsIconic(Wnd) then
109                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
110 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
111 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
112 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
113
114                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
115                         for i := 1 to ParamCount do     begin
116                                 CDS.dwData := 0;
117                                 CDS.cbData := Length(ParamStr(i)) + 1;
118                                 GetMem(CDS.lpData, CDS.cbData);
119                                 try
120                                         StrPCopy(CDS.lpData, ParamStr(i));
121                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
122                                 finally
123                                         FreeMem(CDS.lpData);
124                                 end;
125                         end;
126                 end;
127
128                 CloseHandle(hMutex);
129         end else begin
130                 //\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
131                 hMutex := CreateMutex(nil, False, PChar(MutexString));
132                 Application.Initialize;
133                 Application.Title := '\83M\83R\83i\83r';
134                 Application.ShowMainForm := False;
135                 Application.CreateForm(TMainWindow, MainWindow);
136   Application.CreateForm(TFavoriteDM, FavoriteDM);
137   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
138   Application.CreateForm(TGikoDM, GikoDM);
139   Application.CreateForm(TInputAssistDM, InputAssistDM);
140   Application.CreateForm(TReplaceDM, ReplaceDM);
141   Application.CreateForm(TExtPreviewDM, ExtPreviewDM);
142   Application.CreateForm(TGikoForm, GikoForm);
143   Application.CreateForm(TUpdateCheckForm, UpdateCheckForm);
144   Application.Run;
145                 ReleaseMutex(hMutex);
146         end;
147 end.
148