在某次的Windows CE 教育訓練課程裡面被問到的一個問題,或許其他初學者也會遇到相同問題,就在格子內順便貼文供大家參考.
Windows CE 開發人員在使用C語言開發軟體的時候要特別注意,當開啟文件的時候,文件的的路徑不能使用環境變數,也無法使用 . 符號代表目前目錄, 當開啟文件不指明完整路徑時,Windows CE 會從 \Windows 目錄以及跟目錄兩處搜尋,若找不到該文件則會產生系統錯誤訊息, 並不會從目前目錄搜尋指定文件, 若依需求需要尋找目前程式執行時期的所在目錄,可以透過 GetModuleFileName() 函數取得目前目錄後再串接該份文件作為開啟文件的完整路徑表示
例如:
dwAbsPath = GetModuleFileName( NULL , szBuffer , MAX_BUFF_LEN);
while( szBuffer[--dwAbsPath] != '\\')
;
szBuffer[dwAbsPath+1] = NULL;
_tcscat(szBuffer , TEXT("MyDoc.doc");
Windows CE 開發人員在使用C語言開發軟體的時候要特別注意,當開啟文件的時候,文件的的路徑不能使用環境變數,也無法使用 . 符號代表目前目錄, 當開啟文件不指明完整路徑時,Windows CE 會從 \Windows 目錄以及跟目錄兩處搜尋,若找不到該文件則會產生系統錯誤訊息, 並不會從目前目錄搜尋指定文件, 若依需求需要尋找目前程式執行時期的所在目錄,可以透過 GetModuleFileName() 函數取得目前目錄後再串接該份文件作為開啟文件的完整路徑表示
例如:
dwAbsPath = GetModuleFileName( NULL , szBuffer , MAX_BUFF_LEN);
while( szBuffer[--dwAbsPath] != '\\')
;
szBuffer[dwAbsPath+1] = NULL;
_tcscat(szBuffer , TEXT("MyDoc.doc");
留言
張貼留言