gpt4 book ai didi

c++ - 当程序可见或最小化时进程 ID 发生变化

转载 作者:可可西里 更新时间:2023-11-01 09:23:00 27 4
gpt4 key购买 nike

<分区>

我正在尝试获取程序的进程 ID (PID),但由于某些奇怪的原因,PID 发生了变化。当目标程序 (Alarms & Clock) 可见时,它给了我错误的 PID,而将程序最小化给了我正确的 PID。

我猜测最小化目标程序暂停它的进程,从而允许读取它。但是,即使进程正在运行,简单地读取 PID 也不应成为限制。

有人知道我做错了什么吗?

目前尝试过的方法:

  • 以管理模式运行
  • 为 64 位编译
  • 为 32 位编译

这是描述问题的一段有效的、简洁的代码:

#include <iostream>
#include <Windows.h>
#include <string>

int main()
{
std::string window_name = "Alarms & Clock"; //Feel free to replace this with another program
HWND hwnd = FindWindowA(NULL, window_name.c_str());
if (!hwnd)
{
std::cerr << "Error: Could not find window" << std::endl;
return -1;
}

DWORD processID = 0;
GetWindowThreadProcessId(hwnd, &processID);
std::cout << "Process ID: " << processID << std::endl;
std::cin.get();

return 0;
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com