如果我這樣做LoadLibrary("%windir%\\system32\\ole32.dll")
這是否意味着Windows將只從「c:\ windows \ system32 \ ole32.dll」加載? C中的LoadLibrary()是否理解環境變量?LoadLibrary解析環境變量如%windir%
5
A
回答
6
正如Serge所說並經過仔細測試,LoadLibrary不會在路徑中進行環境變量替換。
但是,在Windows API中有一個函數用於替換字符串中的環境變量:ExpandEnvironmentStrings()
。您可以在致電LoadLibrary()
之前在您的路徑上執行所需的替換。
4
的docs for LoadLibrary明確指出:
如果字符串指定了一個完整路徑,該功能模塊只搜索 路徑。
也就是說,他們沒有提到支持環境變量替代。我非常懷疑他們支持環境變量替換:這是一個shell特性,而不是內核API。
順便說一句,這意味着LoadLibrary()
將認爲%windir%\blah.dll
作爲相對路徑,因爲它不以驅動器號或UNC路徑開頭。因此它會查看整個系列的目錄,尋找一個名稱爲%windir%
的子目錄,它不太可能找到!
我給了它一個快速測試:它證實了我的意見。錯誤= 126:指定的模塊找不到。
+0
是的,它不擴展環境變量。 –
相關問題
- 1. 作爲環境變量的輸出捕獲的windir未被解析爲環境變量
- 2. Python配置解析器環境變量
- 3. 在PHP中解析Windows環境變量
- 4. Win7-64%windir%,%path%環境變量消失,無法重新加載
- 5. 如何在運行時解析java中的環境變量
- 6. 我如何用pystache解析環境變量?
- 7. 如何在nodejs中解析包含環境變量的路徑?
- 8. 環境變量
- 9. 環境變量
- 10. 環境變量
- 11. 環境變量
- 12. 環境變量
- 13. 環境變量
- 14. 環境變量,變量名
- 15. 春季開機無法解析OS環境變量?
- 16. 解析輸入文件到環境變量
- 17. 使用環境變量解析雲代碼CLI語法?
- 18. 解析Windows BAT腳本中的環境變量
- 19. 路徑環境變量和無法解析的外部符號
- 20. Logstash中的環境變量未被正確解析
- 21. 可以通過spark-defaults.conf解析環境變量嗎?
- 22. 無法解析用戶環境變量正確
- 23. 去正則表達式解析字符串環境變量
- 24. 解析環境變量作爲JNLP文件中的參數
- 25. 如何在環境變量
- 26. Cloud9環境變量
- 27. netbeans環境變量
- 28. Access環境變量
- 29. Rails環境變量
- 30. Eclipse環境變量
沒有兩次,它不擴展環境變量,也不會理解字符串中的轉義碼。而一個32位程序將在64位操作系統上受到文件系統重定向,而從c:\ windows \ syswow64加載。 –