32位的EXE,ShellExecute执行,open64位的程序,提示错误码(5),ERROR_ACCESS_DENIED。
如何能通过32位的程序执行64位的程序?(加UAC没用的,试过了)
最终的目标是要HOOK64位的IE,32位的DLL HOOK不了。
用STL只能遍历,没办法判断IE的当前面信息。
要跌进死胡同了,大大们给点思路。

解决方案 »

  1.   

    做一个64位的程序,用64位的DLL hook 64位IE
      

  2.   

    这个是没问题的。
    但是我想用32位的程序开机启动,然后去打工所有的HOOK程序,如果HOOK是64位的话,打不开啊
      

  3.   

    我确认可以打开。最简单的例子,WinRAR的32bit版本安装在x64上照样可以解压缩和启动x64的程序
    VS其实本身也是32bit的。所以你还是从程序权限方面找原因吧。
      

  4.   


    IDE的权限应该是最大的吧,DEBUG都不行啊
      

  5.   


    ShellExecute不需要句柄吧。
      

  6.   


    IDE的权限应该是最大的吧,DEBUG都不行啊
    用Admin方式方运行IDE,然后再调试
      

  7.   

    你可以在VS上安装一个插件,就可以编译64位代码了。。
    在你安装盘中,添加一个x64位的编译器就可以了。。
      

  8.   

    你32位程序勾上大寻址编译应该就没问题了。
    Property->Linker->System->Enable Large addresses
      

  9.   

    关闭UAC,或者用管理员权限运行也不行吗?
      

  10.   

    没有提升UAC,调试权限也受限