OSDN Git Service

まちBBSで削除レスがあるレス番号とスレの件数がずれる不具合を修正
[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   WideMemo in 'WideMemo.pas',
89   ThreadSearch in 'ThreadSearch.pas' {ThreadSrch},
90   uLkJSON in 'lkJSON\uLkJSON.pas',
91   ThreadNGEdt in 'ThreadNGEdt.pas' {ThreadNGEdit},
92   AbonInfo in 'AbonInfo.pas',
93   AbonInfoSet in 'AbonInfoSet.pas' {AbonInfoEdit},
94   NgEditor in 'NgEditor.pas' {NgEdit},
95   RegExpTester in 'RegExpTester.pas' {RegExpTest},
96   BbsThrSel in 'BbsThrSel.pas' {BbsThreadSel};
97
98 {$R *.RES}
99 {$R gikoResource.res}
100
101 var
102         hMutex: THandle;
103         Wnd{, AppWnd}: HWnd;
104         i: Integer;
105         CDS: TCopyDataStruct;
106 const
107         MutexString: string = 'gikoNaviInstance';
108 begin
109         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
110         if hMutex <> 0 then begin
111                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
112                 Wnd := FindWindow('TGikoForm', nil);
113                 if Wnd <> 0 then begin
114                         //\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³
115                         try
116                                 SetForegroundWindow(Wnd);
117                         except
118                 //\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
119                         end;
120                         if IsIconic(Wnd) then
121                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
122 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
123 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
124 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
125
126                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
127                         for i := 1 to ParamCount do     begin
128                                 CDS.dwData := 0;
129                                 CDS.cbData := Length(ParamStr(i)) + 1;
130                                 GetMem(CDS.lpData, CDS.cbData);
131                                 try
132                                         StrPCopy(CDS.lpData, ParamStr(i));
133                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
134                                 finally
135                                         FreeMem(CDS.lpData);
136                                 end;
137                         end;
138                 end;
139
140                 CloseHandle(hMutex);
141         end else begin
142                 //\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
143                 hMutex := CreateMutex(nil, False, PChar(MutexString));
144                 Application.Initialize;
145                 Application.Title := '\83M\83R\83i\83r';
146                 Application.ShowMainForm := False;
147                 Application.CreateForm(TMainWindow, MainWindow);
148   Application.CreateForm(TFavoriteDM, FavoriteDM);
149   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
150   Application.CreateForm(TGikoDM, GikoDM);
151   Application.CreateForm(TInputAssistDM, InputAssistDM);
152   Application.CreateForm(TReplaceDM, ReplaceDM);
153   Application.CreateForm(TExtPreviewDM, ExtPreviewDM);
154   Application.CreateForm(TGikoForm, GikoForm);
155   Application.CreateForm(TUpdateCheckForm, UpdateCheckForm);
156   Application.Run;
157                 ReleaseMutex(hMutex);
158         end;
159 end.
160