草庐IT

Java访问Window的 "Open with..."列表

我想从Java获取WindowsXP/Vista/7中“打开方式...”上下文菜单的列表。从Windows注册表中,我设法找到了一种方法来获取启动应用程序的命令。但是我没有找到如何获取这些应用程序的名称和图标,如资源管理器打开列表上下文菜单中所示。此外,管理这些信息的方式似乎从一个操作系统版本到另一个版本。是否有任何库可以用于Java?谢谢。 最佳答案 您不需要注册表。您需要在Shell32.dll中的OpenAs_RunDLLA上使用GetProcAddress。我找不到它的任何文档,但我有将其定义为的Delphi代码SHOpen

windows-7 - 注册 DLL 时出错

我正在尝试使用命令regsvr32dll_name.dll注册DLL,但出现以下错误Themodule"Addition.dll"wasloadedbutentrypointDLLRegisterServerwasnotfoundMakesurethat"Addition.dll"isavalidDLLorOCXfileandthentryagain谁能帮我找出问题所在? 最佳答案 您要注册的每个DLL都必须具有DLLRegisterServer函数。每当您运行regsvr32.dllDLL_NAME时都会调用此函数。它基本上修改注

c# - wpf窗口定位问题

我有一个在第二个屏幕上运行的应用程序,当用户在第一个屏幕上运行该应用程序时,该应用程序会检测到第二个显示器并将其位置更改为第二个屏幕。这有一个问题,主窗口的子窗口出现在第一个监视器中。如果正确建立所有者属性,则不应发生这种情况。Window1w=newWindow1();win.Owner=Application.Current.MainWindow;我的应用程序很复杂,由调用子窗口的组件组成,但我附上了一段代码来说明问题。在第一个监视器中执行代码,手动将窗口移动到辅助监视器,然后按下按钮调用出现在第一个监视器中的子窗口:(。注意:我知道我可以编写一个代码来检测每个子窗口中的辅助监视器

c++ - 悬停子窗口时更改光标

我有一个要求输入登录名/密码的窗口,它有五个子窗口:一个可编辑的:登录另一个可编辑的:密码一个确定按钮一个“忘记密码”还有一个“注册”。基本上,当您点击最后两个中的任何一个时,您将被转到一个网站,您可以在该网站上执行适当的操作。一切都很好,但我很想知道如何检查(我猜是消息)鼠标光标是否悬停在两个链接之一上,如果是这样,将其更改为手形光标。我特别想知道如何检测它!我可以弄清楚如何使用SetCursor等更改光标!编辑:我实际上发现WM_SETCURSOR是一个非常容易处理的消息。基本上,您检查wParam是否等于它悬停在其上的子窗口的句柄,瞧瞧!但实际上我发现SetCursor是一个更大

windows - 什么窗口消息应用程序在屏幕上收到文本大小更改

用户可以更改显示文本的比例(例如,通过设置→显示→更改文本、应用程序和其他项目的大小,在Windows10上)。我应该处理什么窗口消息以了解此类更改?我有一个大小取决于实际字体高度的东西。但是,尺寸调整非常耗时,因此我不希望在每次WM_PAINT到达时都执行它们。 最佳答案 不是吗WM_DPICHANGED?Sentwhentheeffectivedotsperinch(dpi)forawindowhaschanged.TheDPIisthescalefactorforawindow.-Thewindowismovedtoanewm

windows - 如何在 Windows 上抑制控制台窗口?

取basicexampleGtk+app并将其命名为main.vala:usingGtk;intmain(string[]args){Gtk.init(refargs);varwindow=newWindow();window.title="FirstGTK+Program";window.border_width=10;window.window_position=WindowPosition.CENTER;window.set_default_size(350,70);window.destroy.connect(Gtk.main_quit);varbutton=newButton

WPF 从子项设置窗口标题

如果我在Window中托管了一个UserControl,如下所示:如何从UserControl设置Window.Title?另一个要求是UserControl可以从静态resx文件中提取和设置窗口标题,例如{x:Staticp:Resources.MyViewTitle}编辑经过更多研究,我认为附加属性可能是答案。我该如何实现一个Window.Title属性,我可以将它放在任何子UserControl上,从而允许我设置Window标题? 最佳答案 (未测试):使用VisualTreeHelper.GetParent向上遍历可视化树,

c# - 捕获 WIndow 服务中的按键事件

我正在尝试创建一个窗口服务来创建一个小型键盘记录器应用程序。我是Windows服务的新手,我的唯一目的就是学习。如何获取Winforms中可用的所有事件,但在Windows服务中?我试过在Google上搜索,但我无法找到如何执行此操作。我收到了很多对keyhookDLL的引用。 最佳答案 Windows服务不是基于表单的,因此您不能那样做....看看here有关如何创建杀死其他窗口的Windows服务的示例。窗口服务不是放置表单的理想位置...想想Linux/Unix变体下的守护进程-它们没有图形显示,也没有与用户交互,因此将是“h

python +win32 : detect window drag

有没有办法检测不属于我的应用程序的窗口何时被使用python/pywin32拖到窗口中?我想对其进行设置,以便当我拖动一个标题与桌面边缘附近的图案匹配的窗口时,它会在松开鼠标时捕捉到边缘。我可以编写代码,以便在松开鼠标时将所有具有该标题的窗口捕捉到桌面,但我只想移动被拖动的特定窗口。 最佳答案 到目前为止,我看到的唯一可能的解决方案是使用SetWindowsHookEx。Pywin32没有接口(interface),所以我想我必须做这样的事情:编写一个C扩展模块。它有一个类似setCallback的函数,当拖动事件发生时,它需要一个

windows - Win32 API - CurrentWindow 到 Message-Only-Window 并返回到原始窗口

我使用SetParent将窗口更改为仅消息窗口,但是当我尝试使用SetParent恢复窗口时,我要么没有恢复窗口,要么出现大量延迟?示例源代码。//Changetomessage-onlyHWNDnewParent=SetParent(currentHandle,HWND_MESSAGE);//ChangebackSetParent(newParent,currentHandle); 最佳答案 您已将参数颠倒过来。要恢复您需要的原始parent:SetParent(currentHandle,newParent);请记住,在这两种情