외부 프로그램을 실행시키는데 다음 함수를 사용하면 좋다 ^^
function ProcessExecute(CommandLine : TCommandLine; cShow : Word) : Integer; var Rslt : LongBool; StartUpInfo : TStartUpInfo; ProcessInfo : TProcessInformation; begin FillChar(StartUpInfo, SizeOf(StartUpInfo), 0); with StartUpInfo do begin cb := SizeOf(TStartUpInfo); dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; wShowWindow := cShow; end; Rslt := CreateProcess(PChar(CommandLine), nil, nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo); if Rslt then with ProcessInfo do begin WaitForInputIdle(hProcess, INFINITE); CloseHandle(hThread); CloseHandle(hProcess); result := 0; end else result := GetLastError; end;
//cShow는 프로세스의 메인 윈도우가 어떻게 표시될지를 나타내며 다음 값을 가진다 SW_HIDE : 윈도우를 숨기며, 다른 윈도우가 활성화 된다. SW_MAXMIZE : 윈도우를 최대화 시킨다 SW_MINIMIZE : 윈도우를 최소화 한다 SW_RESTORE : 최대화 또는 최소화 시키기 전의 크기로 윈도우를 표시한다 SW_SHOW : 윈도우를 현재 위치에 현재 크기로 표시한다. SW_SHOWDEFAULT : CreateProcess()에 넘겨진 TStartupInfo 구조체에 지정된 상태에 따라 윈도우를 보여줌 SW_SHOWMAXIMIZED : 최대화된 상태로 윈도우를 활성화 하여 보여준다 SW_SHOWMINIMIZED : 최소화된 상태로 윈도우를 활성화 하여 보여준다 SW_SHOWMINNOACTIVE : 최소화된 상태로 윈도우를 표시하되 현재 활성화된 윈도우는 그대로 둔다 SW_SHOWNA : 최대화 상태로 윈도우를 표시하되 현재 활성화된 윈도우는 그대로 둔다 SW_NOACTIVATE : 가장 최근 크기와 위치로 윈도우를 보여주되 현재 활성화된 윈도우는 그대로 둔다 SW_SHOWNORMAL : 가장 최근 크기와 위치로 윈도우를 보여주되, 윈도우가 이전에 최대화나 최소화 되었다면 그 위치가 저장된다. |
'프로그래밍 > Delphi' 카테고리의 다른 글
델파이 폼에서 Flex 어플 올려놨을때 폼에 맞게 리사이징 (1) | 2010.04.14 |
---|---|
TADOQuery가 현저히 느려질 경우 (1) | 2010.04.12 |
델파이 format 관련 팁 (1) | 2010.02.01 |
MSSQL StoredProcedure로부터 리턴 값 받기 (1) | 2010.01.22 |
델파이에서 TStoredProcedure의 CreateParameter 사용시 주의점 (0) | 2010.01.18 |