2

我是 Win32 的新手,对 C# 不是很熟悉,所以请多多包涵。我在学校有一个项目,涉及制作音频编辑程序,我们可以选择使用哪种语言。我决定通过结合使用 C# 和 Win32 来让自己变得陌生。

到目前为止,我在这方面的进展是创建一个 Winforms 项目,废弃所有 Winforms 代码,并使用 Win32 API 创建一个窗口。我不知道如何使用 Winforms 操作窗口或以有意义的方式使用 .NET 框架中的任何其他内容。

我的问题是,有没有办法获取使用 Win32 API 创建的窗口并使用 Winforms 对其进行编辑?例如,将窗口句柄传递给我的表单,对其进行编辑,然后查看已创建的窗口中反映的更改?让我知道这是否没有意义。我很难找到很多关于此的文档,但也许我只是在错误的地方搜索。如果您可以让我知道任何可能有帮助的资源,或者在正确的方向上提供帮助,我们将不胜感激。

4

2 回答 2

3

我认为你是在倒退。winforms 中的基本思想是保持大部分代码受管理,然后仅在必要时P/Invoke到本机 API 的方式。

可以免费获得许多书籍来帮助您开始使用 C#。

于 2012-09-24T09:21:09.203 回答
0

Window Handle 中hWnd的 Windows 窗体,处理方式为IntPtr

using System.Windows.Forms;
(Form)Control.FromHandle(hWnd)
于 2020-11-15T15:16:35.953 回答