我正在尝试使用带有FindWindowA和GetWindowThreadProcessId函数的Windows机箱来获取程序的PID值。我的问题是,GetWindowThreadProcessId由于错误1400而失败。
fn main(){
unsafe{
let process_name: PCSTR = windows::s!("ac_client.exe");
let window = windows::Win32::UI::WindowsAndMessaging::FindWindowA(None, process_name);
let error = windows::Win32::Foundation::GetLastError();
println!(" {:?}", error); //0
let mut pId= 0;
windows::Win32::UI::WindowsAndMessaging::GetWindowThreadProcessId(window, Some(&mut pId));
let error = windows::Win32::Foundation::GetLastError();
println!("{:?}", error); // 1400
}
}
发布于 2022-11-15 07:23:19
错误1400: ERROR_INVALID_WINDOW_HANDLE无效窗口句柄。
好像你用错了窗户把手。我建议你试着检查一下窗户把手。在调用GetWindowThreadProcessId
之前,您应该确保线程是有效的。
https://stackoverflow.com/questions/74421138
复制相似问题