美文网首页我爱编程
检查一个窗口所属进程是否是64位程序

检查一个窗口所属进程是否是64位程序

作者: 火星凯撒 | 来源:发表于2018-04-16 17:07 被阅读0次

概述

根据一个窗口句柄,检查这个窗口所在的进程是32位还是64位。

/*

* WOW64 (Windows-on-Windows 64-bit)是一个Windows操作系统的子系统,

* 它为现有的 32 位应用程序提供了 32 位的模拟,可以使大多数 32 位

* 应用程序在无需修改的情况下运行在 Windows 64 位版本上。

*/

typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS) (HANDLE, PBOOL);

BOOL IsWow64(HANDLE hProcess)

{

    BOOL bIsWow64 = FALSE;

    LPFN_ISWOW64PROCESS fnIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");

    if (NULL != fnIsWow64Process)

    {

        if (!fnIsWow64Process(hProcess,&bIsWow64))

        {

            // handle error

        }

    }

    return bIsWow64;

}

/*

*  检查窗口所在进程的位数

*  返回值:

*        true  : 64位程序

*        false : 32位程序

*/

bool Is64Wnd(HWND hWnd)

{

    DWORD processId;

    DWORD dwThreadId = GetWindowThreadProcessId(hWnd, &processId);

    if (!dwThreadId) 

        return false; 

    HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);

    if(!hProcess)

        return false;

    bool result = (TRUE == IsWow64(hProcess)) ? false:true;

    ::CloseHandle(hProcess);

    return result;

}

相关文章

  • 检查一个窗口所属进程是否是64位程序

    概述 根据一个窗口句柄,检查这个窗口所在的进程是32位还是64位。 /* * WOW64 (Windows-on-...

  • 线程Thread&Runnable

    进程: 正在进行中的程序(直译)。对应的是一个程序在内存中开辟的所属空间。 线程: 进程中的一个负责程序执行的控制...

  • Android应用启动的实质(三)

    ActivityManagerService在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在,不存在就...

  • (Windows)关闭进程及进程cmd窗口bat脚本

    首先开启一个java进程的窗口 根据运行程序jar包名称获取PID关闭进程 根据端口号关闭进程并根据窗口名称关闭窗...

  • 并发编程(1)

    什么是并发?回答一:要说并发就不得不说多线程,线程是进程中的一个执行流程。当我们运行一个程序的时候,其所属进程中至...

  • 编译器笔记62-代码生成-窥孔优化

    窥孔优化 窥孔(peephole)是程序上的一个小的滑动窗口 窥孔优化是指在优化的时候,检查目标指令的一个滑动窗口...

  • ps命令详解

    一、以BSD方式显示 USER:进程所属用户 PID:进程ID %CPU:它所占用的CPU时间与程序运行时间之比 ...

  • 游戏登录不上解决方法

    1、检查游戏进程及登录进程在不在 命令:ps aux | grep node 2、检查redis和mysql是否能...

  • 1. 基本知识

    进程 进程(process)是程序的运行实例 运行一个Java程序的实质是启动一个Java虚拟机进程 进程是程序向...

  • Linux配置SSH公钥密钥

    1)检查是否安装了ssh 2)检查是否启动了sshd进程 $>ps -Af | grep sshd 3)在clie...

网友评论

    本文标题:检查一个窗口所属进程是否是64位程序

    本文链接:https://www.haomeiwen.com/subject/sbmekftx.html