OSDN Git Service

板更新中に除外カテゴリー編集ボタンを押せないようにした
[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   SaveFile in 'SaveFile.pas',
23   Sort in 'Sort.pas',
24   ThreadControl in 'ThreadControl.pas',
25   ItemDownload in 'ItemDownload.pas',
26   RoundData in 'RoundData.pas',
27   RoundName in 'RoundName.pas' {RoundNameDialog},
28   NewBoard in 'NewBoard.pas' {NewBoardDialog},
29   Dolib in 'Dolib.pas',
30   UBase64 in 'Encrypt\UBase64.pas',
31   UCryptAuto in 'Encrypt\UCryptAuto.pas',
32   KeySetting in 'KeySetting.pas' {KeySettingForm},
33   FavoriteAdd in 'FavoriteAdd.pas' {FavoriteAddDialog},
34   NewFavoriteFolder in 'NewFavoriteFolder.pas' {NewFavoriteFolderDialog},
35   FavoriteArrange in 'FavoriteArrange.pas' {FavoriteArrangeDialog},
36   Favorite in 'Favorite.pas' {FavoriteDM: TDataModule},
37   AddressHistory in 'AddressHistory.pas' {AddressHistoryDM: TDataModule},
38   Preview in 'Preview.pas',
39   HTMLDocumentEvent in 'HTMLDocumentEvent.pas',
40   Kotehan in 'Kotehan.pas' {KotehanDialog},
41   MonaUtils in 'MonaUtils.pas',
42   HintWindow in 'HintWindow.pas',
43   GikoUtil in 'GikoUtil.pas',
44   ToolBarSetting in 'ToolBarSetting.pas' {ToolBarSettingDialog},
45   ToolBarUtil in 'ToolBarUtil.pas',
46   YofUtils in 'YofUtils.pas',
47   AbonUnit in 'AbonUnit.pas',
48   IndividualAbon in 'IndividualAbon.pas' {IndividualAbonForm},
49   Trip in 'Trip.pas',
50   GikoXMLDoc in 'GikoXMLDoc.pas',
51   ExternalBoardManager in 'ExternalBoardManager.pas',
52   ExternalThreadItem in 'ExternalThreadItem.pas',
53   ExternalBoardItem in 'ExternalBoardItem.pas',
54   ExternalBoardPlugInMain in 'ExternalBoardPlugInMain.pas',
55   ExternalFilePath in 'ExternalFilePath.pas',
56   MojuUtils in 'MojuUtils.pas',
57   crc in 'gzip_delphi2\crc.pas',
58   gzip in 'gzip_delphi2\gzip.pas',
59   zlib in 'gzip_delphi2\zlib.pas',
60   bmRegExp in 'bmRegExp\bmregexp.pas',
61   GikoCoolBar in 'Component\GikoCoolBar.pas',
62   GikoListView in 'Component\GikoListView.pas',
63   GikoPanel in 'Component\GikoPanel.pas',
64   KuroutSetting in 'KuroutSetting.pas' {KuroutOption},
65   GikoDB in 'GikoDB.pas',
66   GestureModel in 'GestureModel.pas',
67   Gesture in 'Gesture.pas',
68   GikoBayesian in 'GikoBayesian.pas';
69
70 {$R *.RES}
71 {$R gikoResource.res}
72
73 var
74         hMutex: THandle;
75         Wnd{, AppWnd}: HWnd;
76         i: Integer;
77         CDS: TCopyDataStruct;
78 const
79         MutexString: string = 'gikoNaviInstance';
80 begin
81         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
82         if hMutex <> 0 then begin
83                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
84                 Wnd := FindWindow('TGikoForm', nil);
85                 if Wnd <> 0 then begin
86                         //\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³
87                         SetForegroundWindow(Wnd);
88                         if IsIconic(Wnd) then
89                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
90 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
91 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
92 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
93
94                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
95                         for i := 1 to ParamCount do     begin
96                                 CDS.dwData := 0;
97                                 CDS.cbData := Length(ParamStr(i)) + 1;
98                                 GetMem(CDS.lpData, CDS.cbData);
99                                 try
100                                         StrPCopy(CDS.lpData, ParamStr(i));
101                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
102                                 finally
103                                         FreeMem(CDS.lpData);
104                                 end;
105                         end;
106                 end;
107
108                 CloseHandle(hMutex);
109         end else begin
110                 //\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
111                 hMutex := CreateMutex(nil, False, PChar(MutexString));
112                 Application.Initialize;
113                 Application.Title := '\83M\83R\83i\83r';
114                 Application.ShowMainForm := False;
115                 Application.CreateForm(TMainWindow, MainWindow);
116   Application.CreateForm(TFavoriteDM, FavoriteDM);
117   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
118   Application.CreateForm(TGikoForm, GikoForm);
119   Application.Run;
120                 ReleaseMutex(hMutex);
121         end;
122 end.
123