草庐IT

java - JAVA 中的窗口句柄

我正在使用java开发一个桌面应用程序,我想要另一个窗口的句柄,该窗口是用其他语言创建的,在某个进程的窗口中运行。我知道它的标题、名称、图像名称和其他详细信息。我找不到用于此目的的API。请告诉我,是否有一些API或库可以实现此目的。我们可以在C++中轻松执行此操作,例如:hwnd=FindWindow(NULL,(LPCWSTR)"XYZ"); 最佳答案 最简单的解决方案是JNA.查找窗口示例:WinDef.HWNDhWnd=User32.INSTANCE.FindWindow("className","windowName");

c# - 为什么在重定向输出时调整控制台缓冲区会引发无效句柄异常?

在将输出重定向到文件时,在C#控制台应用程序中调整Console.BufferWidth会引发异常。让我们调用示例test1.exe:staticvoidMain(string[]args){Console.BufferWidth=240;Console.WriteLine("output1\noutput2");}标准输出没问题:test1.exeoutput1output2重定向到文件引发异常:test1.exe>file.txtUnhandledException:System.IO.IOException:Thehandleisinvalid.atSystem.IO.__Err

c++ - 如何在 Windows 上通过句柄重命名文件?

在Windows上,如何仅使用句柄重命名文件?我不控制文件的打开方式(它是通过专有的第三方库完成的)。不过,我可以检索到该文件的句柄(参见#1)。我还知道专有库打开具有以下属性的文件:GENERIC_WRITE|GENERIC_READ和FILE_SHARE_WRITE|FILE_SHARE_READ。我尝试过使用SetFileInformationByHandle函数,将FileRenameInfo作为参数。不幸的是,这似乎只有在使用DELETE访问类型打开文件时才有效,而这里不是这种情况。如果有办法做我想做的事,你有什么想法吗?提前致谢。#1:请注意,库不提供对文件句柄的直接访问。

C# 不识别安全 token 句柄

C#编译出错usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Security.Principal;usingSystem.Security.Permissions;usingSystem.Runtime.ConstrainedExecution;usingSystem.Runtime.InteropServices;usingMicrosoft.Win32.SafeHandles;[DllImport("advapi3

windows - 什么类型的文件会在句柄关闭后立即自行删除?

假设我有一个Windows应用程序,它创建一个文件并将数据写入其中。应用程序以独占方式打开文件,因此其他进程无法读取文件中的数据。如果进程被终止,文件将被删除。如果进程被挂起并且文件句柄被关闭(使用ProcessExplorer),文件将被删除。这一定是Windows的一项功能导致的,因为进程中没有更多代码运行,因为它已被终止或挂起。这怎么可能?什么类型的文件表现出这种行为? 最佳答案 没关系,我刚知道。它是CreateFile函数上的dwFlagsAndAttributes中的FILE_FLAG_DELETE_ON_CLOSE。在

c# - 获取 Windows 资源管理器的进程句柄

我想获取“Windows资源管理器”Windows(不是InternetExplorer)的句柄。通常它可以与varprocesses=Process.GetProcesses();foreach(varprocessinprocesses){varhandle=process.Handle;}我想做的是:将特定的资源管理器窗口置于ForeGround中。我已经实现了“ToForeGround”方法,它适用于除Windows资源管理器之外的所有其他Windows但是对于Windows资源管理器,我只能得到任务栏的进程,而与打开的Windows数量无关,只有一个“Windows资源管理器

Python pyautogui 窗口句柄

有没有办法使用pyautogui获取窗口的句柄,以便我可以确保仅在该窗口上执行单击?换句话说,如果我的窗口没有聚焦,则不会发生点击。此外,如果我的窗口没有聚焦,那么我会将其聚焦,然后执行操作。标识窗口的方式可以是ID、窗口标题等,类似于https://autohotkey.com/docs/commands/WinGet.htm是否有任何其他Python模块支持这种功能? 最佳答案 此代码可能有助于获取您想要最小化或最大化的窗口。示例:如果您想要一个标题为“StackOverflow”的Chrome窗口,pyautogui.getW

windows - 如何从 WndProc 中获取窗口句柄?

也许是个愚蠢的问题,但是......我正在编写一个类,它应该负责将一个窗口(FGuestHWnd,从现在开始)视觉锚定到一个“宿主窗口”(FHostHWnd).FGuestHWnd和HostHWnd没有父/所有者/子关系。FGuestHWnd属于另一个进程-无关紧要。FHostHWnd是VCLTWinControl的窗口句柄,因此它是我进程中的子窗口。它可以位于父/子树内的任何级别。例如,假设它是一个TPanel。现在我必须“Hook”FHostHWnd的移动/调整大小并在自定义计算后调用SetWindowPos(FGuestHWnd...。调整大小很简单:我可以使用SetWindow

windows - "start"命令在子进程中不继承句柄如何使用?

这是说明我的问题的最小示例:::test.bat@echooffcalltest2.bat2>&1|findstrfooechodonecallingtest2::test2.bat@echooffstart/Bnotepad>NULechodonestartingchildprocess在这个例子中,findstr直到记事本关闭才会完成,大概是因为记事本从父cmd进程继承了stdout。如何修改test2.bat以使test.bat不挂起? 最佳答案 我相信我可以在没有任何批处理文件的情况下说明问题。在关闭notepad.exe之

windows - 如何判断 Windows 模块句柄是否仍然有效?

一个模块可以被卸载,那么我如何确定它是否还在内存中呢?我有一个它的句柄,从GetModuleHandle获得。当我尝试对其调用GetHandleInformation时,我看到错误0xc0000008-“指定了无效的HANDLE。”这发生在它可以被卸载之前。 最佳答案 术语“句柄”在这里有点过载-Win32API中的许多不同类别的对象都称为“句柄”。GetHandleInformation用于处理内核对象-文件、注册表项、互斥量等。GetModuleHandle返回的HMODULE由加载程序使用,不是实际的内核对象,因此GetHan