簡體   English   中英

如何以編程方式檢測32位或64位visio版本?

[英]How to programmatically detect 32-bit or 64-bit visio version is installed?

如何以編程方式檢測32位或64位visio版本?

您可以檢查它是否安裝在Program Files (x86) (32位)或Program Files (64位)中,但這不是堅如磐石的。

GetBinaryType API可能是一個更可靠的解決方案。

您可以使用以下任一方法搜索Visio EXE文件:

  • Environment.SpecialFolder.ProgramFiles
  • Environment.SpecialFolder.ProgramFilesX86

如果在X86程序文件文件夾中找到Visio EXE文件,那么您就知道它是32位的。 另一個文件夾用於64位應用程序。

我不確定這是多么完整,因為Visio可能已安裝在Program Files以外的其他Program Files夾中。 在這種情況下,您仍然可以搜索EXE文件,然后嘗試分析EXE本身。

為此,請查看以下鏈接:

其中一種方法是查看Windows注冊表以查看Office節點下是否存在visio(HKLM \\ Software \\ Wow6432Node \\ Microsoft \\ Office ...)如果存在,則表示Visio的32位版本。 如果HKLM \\ Software \\ Microsoft \\ Office ... lookup返回值,則它可能表示64位版本的visio安裝。 希望這可以幫助。

這有答案。 Office在Outlook密鑰下添加了一個用於位數的注冊表項(即使未安裝Outlook):

  • 注冊表路徑:HKEY_LOCAL_MACHINE \\ Software \\ Microsoft \\ Office \\ 14.0 \\ Outlook
  • 注冊表項:比特
  • 值:x86或x64

它也適用於HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Office\\15.0\\Outlook (Office 2013)。

看看這個問題 找到exe后,使用存儲的關於程序的信息添加刪除注冊表entires評估exe。

當你需要確定VISIO是64位還是32位時,你能詳細說明一下嗎?

如果進程正在運行,則可以使用名為IsWow64Process的P / Invoke方法來確定它是否為64位。

您還可以使用IsWow64Process來確定操作系統是32位還是64位。 獲取操作系統的位空間后,即可確定要安裝的加載項版本。

根據我的理解,Office 2010和將來的版本,您可以使用VSTO來避免檢查VISIO是32位還是64位。 您可能需要考慮將來的版本加載項。

謝謝

此外,我知道這是無關的,但請投票支持這個建議(如果你有時間)因為它會徹底改變軟件開發: https//connect.microsoft.com/VisualStudio/feedback/details/526951/screen-object-physicalwidthincentimeters -physicalheightincentimeters-DISPLAYMODE

嘗試Application.IsVisio32屬性

我認為從16位和32位版本的Visio之間有區別時,它仍然存在,但IsVisio32仍然存在(至少在Visio 2003 32位和Visio2010 32位。

沒有IsVisio64屬性,但如果可以,請查看64位安裝時IsVisio32的用途。

這是你工作的另一種方式:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM