
bat轉成EXE在64位操作系統下為何無法正常運行現在是一個超級運行時代,大程序帶來了大內存,大內存無疑把64位系統逐步推向主流。小弟昨天編好的bat 在任何WIN操作系統下運行都沒有問題。但是只要使用任一軟件打包成exe后,在32位XP、32位Win7下運行沒有問題,一旦到64位Win7下運行,就會出現問題。后來發現此exe在win7 64下被認作 32位exe ,所以系統會自動將此程序相關執行命令作轉向,主要轉向如下:1、凡是對 system32 目錄的讀、寫、刪,會自動轉向到 sysyWoW64 去操作;2、凡是對 Program Files 目錄的讀、寫、刪,會自動轉向到 Program Files (x86)去操作;3、凡是對注冊表 HKEY_LOCAL_MACHINESOFTWARE或者 HKEY_CURRENT_USERSoftware 的操作會自動轉向到相應Software目錄下的Wow6432Node 項下去操作。以上的3個轉向就讓32位的exe無法執行64位的相關目錄與注冊表。32位的程序無法服務64位系統!而bat在32位XP、32位Win7下自動調用的是32位cmd操作,在64位Win7下會自動調用64位的cmd操作,均可以對任何目錄、注冊表項作處理。現在的問題是:1、有沒有可以講bat轉成64位exe的封裝軟件??(感覺到最新款的exescript似乎可以支持64位,截圖如下,不知道是不是呢?只是現在沒有正式版可用,試用的也就只支持32位的)2、C#里面可以調用相關的API來關閉和打開這種轉向。常用的函數有3個:Wow64DisableWow64FsRedirection(關閉系統轉 向),Wow64RevertWow64FsRedirection(打開系統轉向),Wow64EnableWow64FsRedirection(打 開系統轉向)。請問批處理bat有沒有類似的轉向開關呢??

