Tag: wndproc

C#ListView禁用水平滚动条

有没有办法阻止水平滚动条出现在列表视图中? 我希望垂直滚动条在需要时显示,但我希望水平滚动条永远不会显示。 我想这会和WndProc有关吗? 谢谢

在wpf应用程序中捕获windows shutdown事件

我有一个ac#WPF应用程序,需要在关闭时保存数据。 如果用户关闭程序,则窗口关闭/关闭事件可正常工作,但如果用户注销/关闭计算机,则不会调用它们。 我已经找到了在winforms程序中捕获此事件的方法( 此处和此处 )。 但我无法弄清楚如何在WPF应用程序中实现这一点。 我正在尝试停止关机,直到我的程序准备好退出

WndProc:如何在窗体最小化时获取窗口消息

要与某个服务进行通信,我必须覆盖WindProc 。 并接收窗口消息。 但是,当表单最小化时,我不再收到任何消息。 我知道它必须是那样的,但有没有解决方法呢? 我不希望有一个永远敞开的隐藏forms……

获取WM_NCHITTEST消息的坐标?

如何在C#代码中获取WM_NCHITTEST消息的坐标? 我希望获得最快的方式,因为性能是必需的。

FormBorderStyle.None删除Windows 8的本机打开效果

我喜欢在C#中使用我的表格无边框。 所以我使用了这段代码: FormBorderStyle = FormBorderStyle.None; 但它消除了Windows 8的空气动力效果。表单突然打开就像眨眼一样。 我怎样才能带回空气效果?

如何在VB6和c#之间发送/接收Windows消息?

我知道我可以在c#中使用下面的代码接收消息,如何发送到vb6,并在vb6中接收,并从vb6发送? [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = “FullTrust”)] protected override void WndProc(ref Message m) { int _iWParam = (int)m.WParam; int _iLParam = (int)m.LParam; switch ((ECGCardioCard.APIMessage)m.WParam) { // handling code goes here } base.WndProc(ref m); }

WPF无边框窗口问题:Aero Snap和最大化

我通过在XAML中设置以下窗口属性创建了一个无边框WPF窗口: … WindowStyle=”None” AllowsTransparency=”True” … 这会导致许多问题: 1)已解决:它不再具有任何内置的resizefunction 2)已解决:它不再具有任何内置拖动function 3)已解决:没有顶部工具栏,它不再具有最小化/最大化/恢复/关闭按钮 4)已解决:通过aero快照最大化或设置WindowState可防止它被取消。 5)通过aero snap最大化或设置WindowState将使用整个屏幕作为边界,与窗口工具栏重叠。 6)通过aero快照最大化或设置WindowState似乎包含-7边距,使窗口的每边7个像素超出窗口边缘。 通过制作xaml窗口模板来解决1-3。 我使用了不可见的矩形作为句柄区域,后面的一些代码通过覆盖OnApplyTemplate()来应用,通过user32.dll SendMessage(…)附加function,用于resize/移动/最小化/最大化/恢复/关闭。 我在这里找到了#4的答案 我尝试通过WndProc截取最大化消息并手动设置大小/位置来解决5-6,但是这有一个问题,即将RestoreRegion覆盖到最大化的大小/位置,从而无法恢复窗口。 真正奇怪的是,从顶部边框调整窗口大小到屏幕顶部会触发aero full height snap,没有任何问题。 所以,我已经走了很长的路,但5-6仍然是一个问题……有没有办法手动指定最大化区域? 或者,有没有办法设置窗口大小而不影响restoreregion属性?