首页
社区
课程
招聘
[求助]x64下,32位程序如何打开System32目录
发表于: 2014-12-26 11:29 7239

[求助]x64下,32位程序如何打开System32目录

2014-12-26 11:29
7239
RT
CreateFile 打开 System32目录的文件 会被重定位到 SysWow64目录下

但是如何能让他正常打开System32目录的文件呢?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 719
活跃值: (777)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
自己跟踪一下就行了,
2014-12-26 11:30
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
3
看下这篇文章你就懂了http://blog.csdn.net/magictong/article/details/5838863
2014-12-26 11:42
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
4
The following example uses Wow64DisableWow64FsRedirection to disable file system redirection so that a 32-bit application that is running under WOW64 can open the 64-bit version of Notepad.exe in %SystemRoot%\System32 instead of being redirected to the 32-bit version in %SystemRoot%\SysWOW64.

#define _WIN32_WINNT 0x0501
#include <Windows.h>

    PVOID OldValue;
    HANDLE hFile = INVALID_HANDLE_VALUE;

    BOOL bRet = [COLOR="Red"][B]Wow64DisableWow64FsRedirection [/B][/COLOR](&OldValue);

    if (bRet == TRUE) 
    {
        // Open a file
        
        hFile = CreateFile(TEXT("C:\\Windows\\System32\\Notepad.exe"),
            GENERIC_READ,
            FILE_SHARE_READ,
            NULL,
            OPEN_EXISTING,
            FILE_ATTRIBUTE_NORMAL,
            NULL);

        // Restore the previous WOW64 file system redirection value.
 
        [COLOR="red"][B]Wow64RevertWow64FsRedirection [/B][/COLOR](OldValue);
    }
    
    if( INVALID_HANDLE_VALUE != hFile )  
    {
        // Use the file handle
    }

2014-12-26 12:14
0
雪    币: 1443
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
WOW64下可以换用%windir%\sysnative,或者调用Wow64DisableWow64FsRedirection关掉重定向。
2014-12-27 00:49
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
6
差点把楼上看成老V。。。
2014-12-27 12:16
0
雪    币: 1443
活跃值: (101)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
显然老V头像不如我的萌
2014-12-27 13:17
0
游客
登录 | 注册 方可回帖
返回
//