草庐IT

c# - 将文本插入到另一个应用程序的文本框中

如何使用C#或C++将文本插入到另一个应用程序的文本框中?我很久以前就这样做了,似乎还记得有关使用应用程序HWND的一些事情。但是由于应用程序的每个实例都发生了这种变化,我觉得我不记得完整的故事了。我是否以某种方式获取正在运行的应用程序列表,提取我想要的应用程序,从中获取HWND,然后……嗯……然后呢?:) 最佳答案 使用FindWindowEx()找到句柄(HWND)然后发送WM_SETTEXT消息使用SendMessage()使用FindWindowEx时,您需要先使用其类名找到主窗口句柄。然后,您需要找到文本框所在的任何容器的

c++ - 来自 CreateWindow/CreateDialog 的 HWND 是否可以从另一个线程获取消息?

使用Win32API,是否可以在一个线程中创建一个窗口或对话框,然后从另一个线程为它收集事件?HWND是否绑定(bind)到线程?尝试下面这个人为的例子,我从来没有看到GetMessage()触发。HWNDg_hWnd;DWORDWINAPImyThreadProc(LPVOIDlpParam){while(GetMessage(&msg,hWnd,0,0)>0){...}}intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnShowCmd){hWnd=CreateDialog(hI

c++ - 不打开窗口的 OpenGL 上下文 - 当使用由 GetDesktopWindow 制作的 HWND 时,wglMakeCurrent 因 HDC 和 HGLRC 而失败

这有点重复thisquestion.我正在尝试制作一个无窗口控制台应用程序来检查支持的OpenGL版本。为此,我需要设置渲染上下文——但不创建窗口。我正在尝试使用我不会写入的桌面句柄。我忘记在前面的示例中设置像素格式-这可能是创建渲染上下文失败的原因-但是即使设置了像素格式,我也无法激活它。wglMakeCurrent(hDC,hRC)只返回0。这是完整的源代码转储:#include#include#includeHDChDC=NULL;HGLRChRC=NULL;HWNDhWnd=NULL;HINSTANCEhInstance;intres=0;intpf=0;PIXELFORMAT

windows - 进程句柄重用的频率

当我使用shell函数打开它时,我注意到一个应用程序句柄。然后我稍后使用该句柄关闭应用程序。然而,用户也可以自己关闭其他应用程序。该句柄是否可以被Windows重用,以便在我使用该句柄时关闭另一个进程。如果可能的话,有可能吗? 最佳答案 不,您不必担心。由OpenProcess、ShellExecuteEx()或CreateProcess返回的句柄使进程对象保持事件状态。这就是在进程终止后调用GetExitCodeProcess()以检索退出代码的方式。对象在其上的最后一个句柄关闭之前不会被释放。与此线程中给出的早期建议相反,调用C

wpf - Qt QML 组件,如 WPF HwndHost

我们有一个桌面Windows应用程序,它使用需要显示HWND的组件。在WPF应用程序中,我们使用HwndHost来显示它。我们正在尝试制作一个基于QtQML的应用程序来做同样的事情。是否可以在QML应用程序中托管HWND组件?它与QQuickWindow一起工作,但我附加的控件占据了整个窗口应用程序区域。我想绑定(bind)到一个较小的区域,比如下面QML中的rectArea。但是QQuickItem没有windId(),只有它的父级window()。有可能吗?这是我的QML:ApplicationWindow{width:640height:480visible:trueRectan

windows - 如何获取当前运行的实际窗口的标题?

我有一个问题:我只需要获取列表中所有窗口的标题,标题是指“记事本”、“TotalCommander”——只是显示在窗口顶部边缘的文本。到目前为止我已经到了这里functionEnumWindowProc(hHwnd:HWND;lParam:integer):boolean;stdcall;varpPid:DWORD;title,ClassName:string;beginif(hHwnd=NULL)thenbeginresult:=false;endelsebeginGetWindowThreadProcessId(hHwnd,pPid);SetLength(ClassName,255

windows - 如何在控制台程序中向 DirectSound SetCooperativeLevel 提供 HWND?

我正在编写一个控制台程序,它使用DirectSoundAPI来呈现一些音频数据。在关注DirectSoundProgrammingGuide(fromMicrosoft)时,我偶然发现了一个奇怪的问题.根据documentation:Aftercreatingadeviceobject,youmustsetthecooperativelevelforthedevicebyusingtheIDirectSound8::SetCooperativeLevelmethod.Unlessyoudothis,nosoundswillbeheard.问题是我正在编写一个控制台程序,SetCoope

c - 是否可以利用另一个进程创建的 HWND?

我正在我的程序中创建窗口,然后将此窗口的HWND发送到另一个应用程序。在window的HDC上绘制是否对另一个进程有效? 最佳答案 Windows归其他窗口所有,而不是进程所有。您可以绘制到桌面上的任何HWND(至少如果窗口具有相同的完整性-我不确定如果它们不这样做会发生什么)。在单独进程中托管插件或选项卡的Web浏览器通常会使用此功能。 关于c-是否可以利用另一个进程创建的HWND?,我们在StackOverflow上找到一个类似的问题: https://s

windows - 如何找到阻止关机的 HWND?

我的应用程序中的某处(连同第3方代码库)是一个窗口过程,它阻止Windows:注销关闭重新启动我发现我的代码中有一个地方犯了一个非常常见的错误,即调用DefWindowProc,但调用不正确:之前:voidGrobber.BroadcastListenerWindowProc(refTMessagemsg){DefWindowProc(_broadcastListenerHwnd,msg.msg,msg.wparam,msg.lparam);}之后:voidGrobber.BroadcastListenerWindowProc(refTMessagemsg){//20170207:Fo

c++ - 我如何使用他的 HWND 检查窗口是否有可见的滚动条?

我想使用窗口的HWND(句柄)检查外部应用程序的窗口是否具有垂直或水平滚动条可见,是否存在任何WinApi函数来获取此信息?我真的尝试了GetScrollInfo功能,但似乎无法检索有关滚动条可见性的信息。 最佳答案 GetScrollBarInfo怎么样?与OBJID_HSCROLL或OBJID_VSCROLLIfidObjectisOBJID_CLIENTandthewindowspecifiedbyhwndisnotasystemscrollbarcontrol,thesystemsendstheSBM_GETSCROLLBA