Firebird 를 백업하는 작업입니다.
위부분은 생략하고
Command := 'gbak -B ' + cSource_File + ' "' + Sys_Temp+cBackup_File + '" -user sysdba -password masterkey';
ZeroMemory( @si, sizeof(si) );
si.cb := sizeof(si);
si.lpDesktop:=PChar('WinSta0\default');
si.wShowWindow := SW_HIDE;
bExeSuccess := CreateProcess(NIL,PCharCommand),NIL,NIL,False,0,NIL,NIL,SI,Pi);
IF (NOT bExeSuccess) THEN Exit;
WaitForSingleObject(pi.hProcess,INFINITE);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
백업 후 다른 저장장치로 복사하려고 합니다. 물론 저장을 해당 위치로 복사하면 되는데
단계를 백업 후 복사하는 방식을 써야 합니다.
백업은 받았습니다만 도스창이 뜹니다.
도스창이 안뜨게 하는 방법이 없을까요?
CreateProcess 를 실행할때 도스창이 뜨는것 같습니다.
BOOL CreateProcess(
LPCTSTR lpApplicationName,
LPTSTR lpCommandLine,
LPSECURITY_ATTRIBUTES lpProcessAttributes,
LPSECURITY_ATTRIBUTES lpThreadAttributes,
BOOL bInheritHandles,
DWORD dwCreationFlags,
LPVOID lpEnvironment,
LPCTSTR lpCurrentDirectory,
LPSTARTUPINFO lpStartupInfo,
LPPROCESS_INFORMATION lpProcessInformation
);
Parameter중 dwCreationFlags = DETACHED_PROCESS 로 설정하시면 Console창이 보이지 않게 됩니다.