获取 win32 窗口并以编程方式添加菜单

问题描述 投票:0回答:1

我有一个提供跨平台应用程序 UI 的 dll。对于 Windows,底层平台使用 Win 32 API。我正在尝试创建一个包含此 dll 的 Win UI 3 应用程序并添加其他功能。具体来说,在调用启动窗口的 DLL 后,我希望能够获取该窗口(DLL 调用不返回任何内容,仅启动窗口)并以编程方式向其添加菜单。是否有可能做到这一点?正在寻找 C# 解决方案。

c# winapi
1个回答
0
投票

尝试以下代码:

    using System.Runtime.InteropServices; … // Import winapi function from dll [DllImport(User32.dll)] static extern Uint32 FindWindowW(String className, String windowName); // Use it Uint32 window=FindWindowW(className, windowName); // Some code painting on window…
它使用 P/Invoke 导入名为 FindWindowW 的 win32api 函数。您已经使用 winapi 在该 dll 中创建了窗口,因此您可能知道它的名称或类名,然后您可以使用 FindWindowW 找到它。该函数返回窗口的句柄,然后您可以在应用程序中使用它。 欲了解更多信息,请参阅: 从dll调用win32函数, 和FindWindowW。 我对C#不太熟悉,希望对你有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.