안녕하세요?
저도 초보라..설명은 잘 못하겠지만..
얼마전에 예제로 해본저이 있어서 예제 코드를 옮겨 놓습니다..
Uses절에 ShellAPI를 입력하시구요..
버튼을 클릭했을때, 알맵을 실행시키는 것입니다..
이미 실행이 되었을 경우에는 다시(Top) 보여줍니다..
음..
그럼..도움이 되셨길....
procedure TfrmMain.btnAlMapClick(Sender: TObject);
Var
FileName : String;
Reg : TRegistry;
szPath : String;
HWnd : THandle;
Begin
HWnd := FindWindow('TfMain', Nil);
If HWnd <> 0 Then
Begin
BringWindowToTop(HWnd);
End
Else
Begin
Reg := TRegistry.Create;
Try
Reg.RootKey := HKEY_CURRENT_USER;
If Reg.OpenKey('SoftwareESTSoftALZip', True) Then
Begin
If Reg.ValueExists('RootDir') Then
Begin
szPath := Reg.ReadString('RootDir');
If Length(szPath) > 0 Then
Begin
szPath := szPath + 'ALZip.EXE';
If ShellExecute(0, 'Open', PChar(ExtractFileName(szPath)),'',
PChar(ExtractFilePath(szPath)), SW_SHOWNORMAL) = ERROR_FILE_NOT_FOUND Then
Inform('알Map.EXE is not exists.', 'Execute Error');
//WinExec(PChar(szPath), SW_SHOWNORMAL);
End;
End;
End;
Finally
Reg.Free;
End;
End;
End;
// WinExec('C:WINNTaaa.wxe', SW_SHOWNORMAL);
// CreateProcess로도 가능하다..
저도 초보라..설명은 잘 못하겠지만..
얼마전에 예제로 해본저이 있어서 예제 코드를 옮겨 놓습니다..
Uses절에 ShellAPI를 입력하시구요..
버튼을 클릭했을때, 알맵을 실행시키는 것입니다..
이미 실행이 되었을 경우에는 다시(Top) 보여줍니다..
음..
그럼..도움이 되셨길....
procedure TfrmMain.btnAlMapClick(Sender: TObject);
Var
FileName : String;
Reg : TRegistry;
szPath : String;
HWnd : THandle;
Begin
HWnd := FindWindow('TfMain', Nil);
If HWnd <> 0 Then
Begin
BringWindowToTop(HWnd);
End
Else
Begin
Reg := TRegistry.Create;
Try
Reg.RootKey := HKEY_CURRENT_USER;
If Reg.OpenKey('SoftwareESTSoftALZip', True) Then
Begin
If Reg.ValueExists('RootDir') Then
Begin
szPath := Reg.ReadString('RootDir');
If Length(szPath) > 0 Then
Begin
szPath := szPath + 'ALZip.EXE';
If ShellExecute(0, 'Open', PChar(ExtractFileName(szPath)),'',
PChar(ExtractFilePath(szPath)), SW_SHOWNORMAL) = ERROR_FILE_NOT_FOUND Then
Inform('알Map.EXE is not exists.', 'Execute Error');
//WinExec(PChar(szPath), SW_SHOWNORMAL);
End;
End;
End;
Finally
Reg.Free;
End;
End;
End;
// WinExec('C:WINNTaaa.wxe', SW_SHOWNORMAL);
// CreateProcess로도 가능하다..