OSDN Git Service

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