首页 > 代码库 > 64位Win7系统nbtstat 问题

64位Win7系统nbtstat 问题

在32位系统写:"cmd /c C:\\Windows\\system32\\nbtstat.exe -a 192.168.44.1"是可以执行的,但是在64位,

C:\\Windows\\system32\\nbtstat.exe在程序中调,是找不到的。
是64位系统的产生的原因,把命令改成“cmd /c C:\\Windows\\sysnative\\nbtstat.exe -a 192.168.44.1”就可以了

 

神奇的SysNative文件夹
其实%WINDIR%\SysNative文件夹是不存在的,它只是64位Windows系统提供的一种重定向机制。我们已经知道64位Windows通过System32和SysWoW64两件文件夹来区分64位和32位的系统文件,当32位的应用程序尝试访问System32文件夹的时候,系统会自动把它转到SysWoW64文件夹,这样32位应用程序在32位系统和64位系统就都可以运行了,(而不需要为了64位系统而把System32改成SysWoW64)。这样就出现了一个问题,32位的应用程序怎么访问真正的System32文件夹呢,即存放64位系统文件的文件夹?答案就是通过SysNative文件夹。这个文件夹并不存在,即在资源管理器中找不到,但当32位的应用程序尝试访问这个文件夹时,64位的Windows会把它重定向到真正的System32文件夹,从而提供了一种让32位应用程序访问64位系统文件的方法。具体细节请参考MSDN。」

64位Win7系统nbtstat 问题