| 1 |
program gikoNavi; |
| 2 |
|
| 3 |
{%ToDo 'gikoNavi.todo'} |
| 4 |
|
| 5 |
uses |
| 6 |
//MemCheck in 'MemCheck.pas', {Memoryleak} |
| 7 |
Windows, |
| 8 |
SysUtils, |
| 9 |
Forms, |
| 10 |
Messages, |
| 11 |
MainForm in 'MainForm.pas' {MainWindow}, |
| 12 |
Giko in 'Giko.pas' {GikoForm}, |
| 13 |
Splash in 'Splash.pas' {SplashWindow}, |
| 14 |
About in 'About.pas' {AboutDialog}, |
| 15 |
Option in 'Option.pas' {OptionDialog}, |
| 16 |
Editor in 'Editor.pas' {EditorForm}, |
| 17 |
Round in 'Round.pas' {RoundDialog}, |
| 18 |
ListSelect in 'ListSelect.pas' {ListSelectDialog}, |
| 19 |
Search in 'Search.pas' {SearchDialog}, |
| 20 |
GikoSystem in 'GikoSystem.pas', |
| 21 |
Setting in 'Setting.pas', |
| 22 |
BoardGroup in 'BoardGroup.pas', |
| 23 |
SaveFile in 'SaveFile.pas', |
| 24 |
Sort in 'Sort.pas', |
| 25 |
ThreadControl in 'ThreadControl.pas', |
| 26 |
ItemDownload in 'ItemDownload.pas', |
| 27 |
RoundData in 'RoundData.pas', |
| 28 |
RoundName in 'RoundName.pas' {RoundNameDialog}, |
| 29 |
NewBoard in 'NewBoard.pas' {NewBoardDialog}, |
| 30 |
Dolib in 'Dolib.pas', |
| 31 |
UBase64 in 'Encrypt\UBase64.pas', |
| 32 |
UCryptAuto in 'Encrypt\UCryptAuto.pas', |
| 33 |
KeySetting in 'KeySetting.pas' {KeySettingForm}, |
| 34 |
FavoriteAdd in 'FavoriteAdd.pas' {FavoriteAddDialog}, |
| 35 |
NewFavoriteFolder in 'NewFavoriteFolder.pas' {NewFavoriteFolderDialog}, |
| 36 |
FavoriteArrange in 'FavoriteArrange.pas' {FavoriteArrangeDialog}, |
| 37 |
Favorite in 'Favorite.pas' {FavoriteDM: TDataModule}, |
| 38 |
AddressHistory in 'AddressHistory.pas' {AddressHistoryDM: TDataModule}, |
| 39 |
Preview in 'Preview.pas', |
| 40 |
HTMLDocumentEvent in 'HTMLDocumentEvent.pas', |
| 41 |
Kotehan in 'Kotehan.pas' {KotehanDialog}, |
| 42 |
MonaUtils in 'MonaUtils.pas', |
| 43 |
HintWindow in 'HintWindow.pas', |
| 44 |
GikoUtil in 'GikoUtil.pas', |
| 45 |
ToolBarSetting in 'ToolBarSetting.pas' {ToolBarSettingDialog}, |
| 46 |
ToolBarUtil in 'ToolBarUtil.pas', |
| 47 |
YofUtils in 'YofUtils.pas', |
| 48 |
AbonUnit in 'AbonUnit.pas', |
| 49 |
IndividualAbon in 'IndividualAbon.pas' {IndividualAbonForm}, |
| 50 |
Trip in 'Trip.pas', |
| 51 |
GikoXMLDoc in 'GikoXMLDoc.pas', |
| 52 |
ExternalBoardManager in 'ExternalBoardManager.pas', |
| 53 |
ExternalThreadItem in 'ExternalThreadItem.pas', |
| 54 |
ExternalBoardItem in 'ExternalBoardItem.pas', |
| 55 |
ExternalBoardPlugInMain in 'ExternalBoardPlugInMain.pas', |
| 56 |
ExternalFilePath in 'ExternalFilePath.pas', |
| 57 |
MojuUtils in 'MojuUtils.pas', |
| 58 |
crc in 'gzip_delphi2\crc.pas', |
| 59 |
gzip in 'gzip_delphi2\gzip.pas', |
| 60 |
zlib in 'gzip_delphi2\zlib.pas', |
| 61 |
bmRegExp in 'bmRegExp\bmregexp.pas', |
| 62 |
GikoCoolBar in 'Component\GikoCoolBar.pas', |
| 63 |
GikoListView in 'Component\GikoListView.pas', |
| 64 |
GikoPanel in 'Component\GikoPanel.pas'; |
| 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 |
//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃? |
| 80 |
Wnd := FindWindow('TGikoForm', nil); |
| 81 |
if Wnd <> 0 then begin |
| 82 |
//鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申 |
| 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 |
//鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃緒申鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申 |
| 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 |
//鐃?鐃緒申鐃?鐃?鐃?鐃?鐃?鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃緒申鐃?鐃?鐃緒申鐃?鐃?鐃?鐃緒申鐃緒申鐃?鐃緒申鐃緒申鐃? |
| 107 |
hMutex := CreateMutex(nil, False, PChar(MutexString)); |
| 108 |
Application.Initialize; |
| 109 |
Application.Title := '鐃?鐃?鐃?鐃?'; |
| 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.Run; |
| 116 |
ReleaseMutex(hMutex); |
| 117 |
end; |
| 118 |
end. |
| 119 |
|