如何使用Python clr WinForms连接到WNDROC

2024-09-24 04:29:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我的最终目标是使用pywebview创建一个可调整大小的无边界窗口。我在用Windows和WinForms。 我可以通过这样做来实现无边界:

webview.winforms.BrowserView.instance.browser.FormBorderStyle = 0

不过,我希望能够移动它周围和调整它太。为了在C#中正常执行此操作,我可以重写派生表单类中的WndProc方法,并调用resize消息。不过,我不知道如何在Python中实现这一点。pywebview中的表单是defined here。在

我无法将self.WndProc设置为我自己的定义;我得到AttributeError : attribute is read-only。我试着像这样直接与它挂钩(在表单定义中):

^{pr2}$

但好像没人叫它。在


Tags: 方法instancebrowser表单定义windows边界resize
1条回答
网友
1楼 · 发布于 2024-09-24 04:29:56

GetModuleHandle检索应用程序模块句柄,而不是窗口句柄。 您需要一个从CreateWindow/GetActiveWindow返回的句柄或其他返回窗口句柄的函数!在

试试这个:

ctypes.windll.user32.SetWindowLongW(self.Handle, GWL_WNDPROC, WndProcType(self.MyWndProc))

相关问题 更多 >