Re: [請益] Win32 progrmming--CurrentDirectory

看板Programming作者時間17年前 (2008/12/28 12:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
1. 不是,不要想太多,就是工作路徑,例如捷徑裡面有個開始位置,那個就可以跟執行檔不同,也是工作路徑。 工作路徑可以獨立設定,透過 Windows Shell 跑的時候,若沒有設定,預設會是執行檔路徑。例如檔案總管是 Windows Shell 的一部分。 當你 A 呼叫 B 所用的 API 沒指定 B 的工作路徑時,B 的 Process 才會在 A 的工作路徑上,若是用編譯器或語言自帶的 Shell 方法,則看編譯器是否有預設值而定。 A / B / E 是三個獨立的 Process ,可以有各自的工作路徑。 2. 基本上是,但有時候要看編譯器是不是有啥鳥設定。 3,4. 我自己習慣用 Module32First / Module32Next 來列舉。 ==> 本文由 "moon <Homoon.bbs@ptt.cc>" > 於 news:4da2OU%245zZ%40ptt.cc 發表 > > 不好意思, 想請教各位..問題可能很蠢...Orz... > [A.exe] ---呼叫---> [B.exe] ---呼叫-->[C.dll]---呼叫-->[E.exe] > 1.CurrentDirectory (使用GetCurrentDirectory API) > (不使用SetCurrentDirectory的時候) > ---請問他的明確定義, 是指最上層執行檔(exe)的所在目錄嗎 ? > 2.當我使用 "\\abcd.txt"這樣的相對路徑 > ---這個檔案的full path 是不是即是<CurrentDirectory>\abcd.txt > > 4.GetModuleFileName > ---第一個參數是NULL, 得到的應該是"Current module" > (實驗結果似乎是得到執行檔) > ---指名Module或先前指名執行文件的名稱 會得到dll/exe > 3.Current Module > ---意思是指現在執行文件 可以是exe/dll 還是只有指exe > ====================================================== > 所以對[E.exe] 而言, CurrentDirectory ---------->[A.exe] 的目錄 > GetModuleFileName(NULL..)-->[E.exe] 的目錄 > Current Module ------------>[E.exe] > [C.dll] 而言. CurrentDirectory ---------->[A.exe]的目錄 > GetModuleFileName(NULL..)-->[B.exe]的目錄 > Current Module ------------>[C.dll] > > 想請問一下....這樣的定義是對的嗎 ...Orz!! > 叩謝 > -- 風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.7 UTF-8 Beta 網站地圖 http://tlcheng.twbbs.org/wwwmap.htm 流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式 Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論 微軟程式設計、系統管理使用新技術論壇討論區,網友回覆後即時簡訊、電子郵件通知: MSDN: http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14 TechNet: http://forums.microsoft.com/technet-cht/default.aspx?siteid=23 -- ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.language
文章代碼(AID): #19Lld-00 (Programming)
文章代碼(AID): #19Lld-00 (Programming)