OSDN Git Service

・スレタイにタブ文字があるスレッドをHTML化して保存できない問題を修正
[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
97 {$R *.RES}
98 {$R gikoResource.res}
99
100 var
101         hMutex: THandle;
102         Wnd{, AppWnd}: HWnd;
103         i: Integer;
104         CDS: TCopyDataStruct;
105 const
106         MutexString: string = 'gikoNaviInstance';
107 begin
108         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
109         if hMutex <> 0 then begin
110                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
111                 Wnd := FindWindow('TGikoForm', nil);
112                 if Wnd <> 0 then begin
113                         //\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³
114                         try
115                                 SetForegroundWindow(Wnd);
116                         except
117                 //\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
118                         end;
119                         if IsIconic(Wnd) then
120                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
121 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
122 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
123 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
124
125                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
126                         for i := 1 to ParamCount do     begin
127                                 CDS.dwData := 0;
128                                 CDS.cbData := Length(ParamStr(i)) + 1;
129                                 GetMem(CDS.lpData, CDS.cbData);
130                                 try
131                                         StrPCopy(CDS.lpData, ParamStr(i));
132                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
133                                 finally
134                                         FreeMem(CDS.lpData);
135                                 end;
136                         end;
137                 end;
138
139                 CloseHandle(hMutex);
140         end else begin
141                 //\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
142                 hMutex := CreateMutex(nil, False, PChar(MutexString));
143                 Application.Initialize;
144                 Application.Title := '\83M\83R\83i\83r';
145                 Application.ShowMainForm := False;
146                 Application.CreateForm(TMainWindow, MainWindow);
147   Application.CreateForm(TFavoriteDM, FavoriteDM);
148   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
149   Application.CreateForm(TGikoDM, GikoDM);
150   Application.CreateForm(TInputAssistDM, InputAssistDM);
151   Application.CreateForm(TReplaceDM, ReplaceDM);
152   Application.CreateForm(TExtPreviewDM, ExtPreviewDM);
153   Application.CreateForm(TGikoForm, GikoForm);
154   Application.CreateForm(TUpdateCheckForm, UpdateCheckForm);
155   Application.Run;
156                 ReleaseMutex(hMutex);
157         end;
158 end.
159