|
안녕하세요
ShellExecuteEx함수를 사용하셔서
SHELLEXECUTEINFO의 구조체멤버중에 lpParameters에 여시고 싶은
파일 패스를 적어주시면 되겠죠..
아래 소스 드립니다.
void __fastcall doExecuteFile(AnsiString fn)
{
SHELLEXECUTEINFO execinfo;
memset(&execinfo, 0, sizeof(execinfo));
execinfo.cbSize = sizeof(execinfo);
execinfo.lpVerb = "open";
execinfo.lpFile = fn.c_str(); // 실행하시려는 프로그램의 파일 path
execinfo.lpParameters = "c:\\book1.xls"; // 여시려는 파일 path
execinfo.fMask = SEE_MASK_NOCLOSEPROCESS;
execinfo.nShow = SW_SHOWDEFAULT;
ShellExecuteEx(&execinfo);
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
doExecuteFile("Excel"); //저는 Excel이 패스가 잡혀있어 그냥 이렇게 써도 되네요.
}
//---------------------------------------------------------------------------
그럼 즐거운 하루 되십시요..
무정 님이 쓰신 글 :
: builder에서 만든 프로그램에서 어떤 버튼을 누르면 다른 응용프로그램이 실행이 되게 하려는 데요.. 그냥 응용프로그램만 실행시키는 것이 아니고 그 프로그램에서 사용하는 파일을 읽어오게 하려고 합니다.
:
: 예를 들면 제가 만든 프로그램에서 어떤 버튼을 클릭시 MS-Word가 실행이 되면서 지정된 *.doc가 뜨게 하려는 것입니다.
:
: 그냥 MS-Word만 실행시키려는 것은 아래 방법을 사용하면 되었거든요.
: WinExec("MS-Word가 있는 경로", SW_SHOW);
:
|