最近做一個功能的時候,有一部分涉及到使用CreateProcess,進行zip的更新動作
C:\>zip-m decrypt..zip “C:\Program Files\META-INF\manifest.xml”
它會將Program Files\META-INF\manifest.xml的目錄結構拷貝到decrypt..zip下,這個不是我們希望看到的結果,於是就想是不是程序中有某個參數可以設置當前cmd的工作目錄呢,經過一番折騰,如下:
BOOL WINAPI CreateProcess(
__in LPCTSTR lpApplicationName,
__in_out LPTSTR lpCommandLine,
__in LPSECURITY_ATTRIBUTES lpProcessAttributes,
__in LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in BOOL bInheritHandles,
__in DWORD dwCreationFlags,
__in LPVOID lpEnvironment,
__in LPCTSTR lpCurrentDirectory,
__in LPSTARTUPINFO lpStartupInfo,
__out LPPROCESS_INFORMATION lpProcessInformation
);
剛好lpCurrentDirectory個參數可以控制,寫出來容易,中間還是幾經折騰