0
目前我通过EnumWindows检查HWND是否为控制台并检查ClassName。检查句柄(HWND)是否为控制台
function EnumWindows(AHandle: HWND; AParam: LPARAM): BOOL; stdcall;
var
classname: array[0.. 255] of Char;
begin
GetClassName(AHandle, classname, 255);
if classname = 'ConsoleWindowClass' then
begin
// do something
Result := False;
end
else
Result := True;
end;
我想知道是否有更好的方法来完成这样的事情?
检查样式(或/和ExStyle)是否“更好”?
您是否试图找到与当前进程或另一个关联的控制台窗口? –
@ 500-InternalServerError只是一般。对于自己当前的进程可以使用:function GetConsoleWindow:HWND; STDCALL;外部'kernel32.dll'; – MRSNAPS
在我们可以告诉你如何识别它之前,你需要定义* console的含义。 –