VC中文FAQ寶庫之5:怎樣載入其他的應用程式 (轉)

post0發表於2007-08-09
VC中文FAQ寶庫之5:怎樣載入其他的應用程式 (轉)[@more@]

三個SDK函式WinExec, ShellExecute, CreateProcess可以使用。

??WinExec最簡單,兩個引數,前一個指定路徑,後一個指定顯示方式。後一個引數值得說一下,比如你用SW_SHOWMAXIMIZED方式去載入一個無最大化按鈕的程式,就是Neterm,calc等等,就不會出現正常的窗體,但是已經被加到任務列表裡了。

??ShellExecute較WinExex靈活一點,可以指定工作目錄,下面的Example就是直接開啟 c: emp1.txt,而不用載入與 txt檔案關聯的應用程式,很多安裝程式完成後都會開啟一個視窗,來顯示Readme or Faq,我猜就是這麼作的啦.

??ShellExecute(NULL, NULL, _T("1.txt"), NULL, _T("c: emp"), SW_SHOWMAXIMIZED);

??CreateProcess最複雜,一共有十個引數,不過大部分都可以用NULL代替,它可以指定程式的安全屬性,繼承資訊,類的優先順序等等.來看個很簡單的Example:

??STARTUPINFO stinfo = {0}; //啟動視窗的資訊

??stinfo.cb = sizeof(STARTUPINFO);

??PROCESS_INFORMATION procinfo; //程式的資訊

??CreateProcess(NULL, _T("notepad.exe"), NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &stinfo, &procinfo)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-938331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章