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
66 {$R *.RES}
67 {$R gikoResource.res}
68
69 var
70         hMutex: THandle;
71         Wnd{, AppWnd}: HWnd;
72         i: Integer;
73         CDS: TCopyDataStruct;
74 const
75         MutexString: string = 'gikoNaviInstance';
76 begin
77         hMutex := OpenMutex(MUTEX_ALL_ACCESS, False, PChar(MutexString));
78         if hMutex <> 0 then begin
79                 //\83~\83\85\81[\83e\83b\83N\83X\82ª\91\8dÝ\82µ\82½\8fê\8d\87\82Í\8bN\93®\92\86\8e~
80                 Wnd := FindWindow('TGikoForm', nil);
81                 if Wnd <> 0 then begin
82                         //\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³
83                         SetForegroundWindow(Wnd);
84                         if IsIconic(Wnd) then
85                                 SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, -1);
86 //                      AppWnd := GetWindowLong(Wnd, GWL_HWNDPARENT);
87 //                      if (AppWnd <> 0) and (IsIconic(AppWnd)) then
88 //                              SendMessage(AppWnd, WM_SYSCOMMAND, SC_RESTORE, -1);
89
90                         //\82Å\81A\88ø\90\94\82ª\82 \82Á\82½\82ç\8bN\93®\8dÏ\82Ý\83M\83R\83i\83r\82É\91\97\82é
91                         for i := 1 to ParamCount do     begin
92                                 CDS.dwData := 0;
93                                 CDS.cbData := Length(ParamStr(i)) + 1;
94                                 GetMem(CDS.lpData, CDS.cbData);
95                                 try
96                                         StrPCopy(CDS.lpData, ParamStr(i));
97                                         SendMessage(Wnd, WM_COPYDATA, 0, LParam(@CDS));
98                                 finally
99                                         FreeMem(CDS.lpData);
100                                 end;
101                         end;
102                 end;
103
104                 CloseHandle(hMutex);
105         end else begin
106                 //\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
107                 hMutex := CreateMutex(nil, False, PChar(MutexString));
108                 Application.Initialize;
109                 Application.Title := '\83M\83R\83i\83r';
110                 Application.ShowMainForm := False;
111                 Application.CreateForm(TMainWindow, MainWindow);
112   Application.CreateForm(TFavoriteDM, FavoriteDM);
113   Application.CreateForm(TAddressHistoryDM, AddressHistoryDM);
114   Application.CreateForm(TGikoForm, GikoForm);
115   Application.CreateForm(TKuroutOption, KuroutOption);
116   Application.Run;
117                 ReleaseMutex(hMutex);
118         end;
119 end.
120