我的Windows終端用戶,我試圖讓兩個應用程序指向同一個Windows目錄,一個用VB6寫在VBA中。GetWindowsDirectory()API返回錯誤(vba vb6)
當調用GetWindowsDirectory() API從VB6它返回正確路徑
C:\ Documents和Settings \%用戶%\ Windows下
當從VBA調用它的宏,它返回
C:\ WINDOWS
注意相同結果也適用於GetSystemWindowsDirectory()
Thiking可以是VBA代碼不知道它的一個終端站,我稱爲其返回1 GetSystemMetrics(SM_REMOTESESSION)
API,這意味着它是知道它是一個終端。
完全相同的代碼在VB6都使用和VBA
的Windows 2003R2,Office版本是2010版64位(這是我打字這一點,讓我不知道,如果是相關的,知道VB6是32位... )
任何想法?
編輯:由下面的可以預見的解釋,vba和vb6之間的區別是因爲vb6不像Office是終端服務意識。
[_ 「該功能用於與傳統應用程序兼容性主要提供」 _](https://msdn.microsoft.com/en-us/library /windows/desktop/ms724454(v=vs.85).aspx)。你想做什麼?改用'FOLDERID_Windows'調用'SHGetKnownFolderPath'。 – CodeCaster
嘗試 - 將編輯 – Stavm
我的意思是「你期望什麼」?什麼是「相同的Windows目錄」?你的意思是Windows安裝目錄?見上面更新的評論。 – CodeCaster