gpt4 book ai didi

winapi - 使用 Windows 用户界面 API 是否存在不同版本的 Windows 之间不兼容的风险?

转载 作者:行者123 更新时间:2023-12-02 22:37:01 26 4
gpt4 key购买 nike

我正在开发一个 C# Excel VSTO 加载项,它利用 user32.dll 对 excel UI 执行一些黑魔法。本人对Win32的使用不是很熟练,疑惑:

我是否需要担心确保该应用程序适用于 XP 及更高版本的所有 Windows 版本?或者假设我的 Win32 调用将在所有这些版本中一致地工作是否合理?

编辑:以下是我正在使用的调用:

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static public extern IntPtr FindWindowEx(IntPtr hWnd, IntPtr hChild, string strClassName, string strName);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static public extern bool IsWindowVisible(IntPtr hWnd);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static public extern bool IsWindowEnabled(IntPtr hWnd);

最佳答案

好的,您正在使用的电话不会就这样消失,它们会一直存在。但是,特别是 FindWindowEx 具有非常特殊的功能,因此您很可能试图在 Excel GUI 中找到一个子窗口,其名称和/或窗口类可以随时更改(包括通过次要更新)由 Microsoft 自行决定。

因此回答您的问题:无需担心您正在使用的 API 函数,但是是的,您必须进行防御性编码,以确保您的代码不会在不符合预期的 Excel 版本上出现异常行为(关于特定子窗口的存在)在您的代码中。

关于winapi - 使用 Windows 用户界面 API 是否存在不同版本的 Windows 之间不兼容的风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11317869/

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