gpt4 book ai didi

delphi - CreateWindow 不再存在于 user32.dll 中

转载 作者:行者123 更新时间:2023-12-05 08:15:57 25 4
gpt4 key购买 nike

我发现 CreateWindowACreateWindowW 不再存在于 Windows 10 的 user32.dll 文件中。您是否看到过 Microsoft 关于此的任何公告?

当我注意到在 Delphi 的 Winapi.Windows 文件中它们被模拟时,我发现了这一点。

更新

我似乎忽略了,在Delphi 6 中,这些函数也是使用CreateWindowEx 的宏。大卫可能是对的,这些函数在 Win16 中只有 DLL 入口点。它们在 Windows XP SP3 中绝对不存在。

最佳答案

恐怕你问题的前提是不正确的。 Delphi 6 Windows 单元不链接到 CreateWindowWCreateWindowA。以下是这些功能的实际实现方式:

function CreateWindow(lpClassName: PChar; lpWindowName: PChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowEx(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndPar, hMenu, hInstance, lpParam);
end;
function CreateWindowA(lpClassName: PAnsiChar; lpWindowName: PAnsiChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowExA(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
end;
function CreateWindowW(lpClassName: PWideChar; lpWindowName: PWideChar;
dwStyle: DWORD; X, Y, nWidth, nHeight: Integer; hWndParent: HWND;
hMenu: HMENU; hInstance: HINST; lpParam: Pointer): HWND;
begin
Result := CreateWindowExW(0, lpClassName, lpWindowName, dwStyle, X, Y,
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam);
end;

如您所见,这反射(reflect)了它们在 Windows 头文件中的实现,如 tenfour's answer 所示。 .

如果您的代码因为尝试从 user32 导入名为 CreateWindowWCreateWindowA 的函数而失败,那么问题不在于user32 已更改,您的代码完全错误地期望具有这些名称的函数存在。

关于delphi - CreateWindow 不再存在于 user32.dll 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64240074/

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