草庐IT

windows - 为什么有些控件没有窗口句柄?

我想获得一些控件的窗口句柄来用它做一些事情(需要一个句柄)。控件位于不同的应用程序中。奇怪的是;我发现许多控件没有窗口句柄,例如Windows资源管理器中工具栏(?)中的按钮。只需尝试获取文件夹/搜索/(等)按钮的句柄。它只给了我0。所以..第一个问题:为什么有些控件没有窗口句柄?在他们心里,不都是控制着window吗?(只是谈论标准控件,就像我在Windows资源管理器中期望的那样,没有在Pane等上自定义绘制。)这引出了我的第二个问题:如果您无法获取它们的句柄,如何使用它们(例如使用EnableWindow)?非常感谢您的任何意见!编辑(附加信息):Windows资源管理器只是一个

c++ - 获取光标所在窗口的窗口句柄

我想知道在C++中是否可以获取光标当前位置下方窗口的窗口句柄。我正在开发一个可以截取部分屏幕截图的屏幕截图程序,我认为当您的光标位于该窗口上时,您可以通过按热键来截取该窗口的屏幕截图的功能将是有用的功能。有什么想法吗? 最佳答案 以下作品:POINTP;HWNDHandle;GetCursorPos(&P);Handle=WindowFromPoint(P); 关于c++-获取光标所在窗口的窗口句柄,我们在StackOverflow上找到一个类似的问题: ht

windows - 如何使用 JScript 获取进程的主窗口句柄?

JScript中有没有通过提供进程名称来获取进程主窗口句柄的方法?Process.MainWindowHandle属性仅适用于JScript.NET。经典JScript中有类似的东西吗? 最佳答案 我不确定这是否有效,只是尝试循环window.parent直到它未定义。有点像-varmainWindow=window;while(mainWindow.parent){mainWindow=mainWindow.parent;}你也有类似window.top的东西,它总是返回最顶层的窗口。但不确定是否所有浏览器都支持。

c# - 从 Win64 位的外部进程文件句柄获取文件名 - C#

谁能帮帮我我想获取与外部进程的文件句柄对应的文件名。目前,我只能在Win32位而非Win64位上做到这一点。在Windows64位中是否需要代码签名才能做到这一点?谢谢! 最佳答案 您必须将您的应用程序编译为AnyCPU(而非x86),因为在x64操作系统上只有x64进程可以访问其他x64进程。 关于c#-从Win64位的外部进程文件句柄获取文件名-C#,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

c - 如何在不知道其名称的情况下获取 JobObject 的句柄?

我的应用程序正在作业中运行。我想使用OpenJobObject获取此Jobobject的句柄,以便稍后使用此句柄。问题是,我不知道作业名称,将NULL传递给作业名称会返回错误87(参数不正确)。我是这样尝试的:HANDLEhandle=OpenJobObject(JOB_OBJECT_QUERY,FALSE,NULL);if(!handle)printf("\nError%d",GetLastError());elseprintf("\nOK");我也在MSDN上找到了这个:应用程序无法获得运行它的作业对象的句柄,除非它具有作业对象的名称。但是,应用程序可以使用NULL调用QueryI

c++ - 在 Windows 中执行 SetMonitorBrightness 函数时出现无效的监视器句柄错误 - C++

我正在Windows中编写程序,我想获得计算机显示器的亮度。我正在使用WindowsGetMonitorBrightness函数,但遇到了一些问题。到目前为止,这是我的代码:DWORDdw;HMONITORhMonitor=NULL;DWORDcPhysicalMonitors;LPPHYSICAL_MONITORpPhysicalMonitors=NULL;LPDWORDpdwMinimumBrightness=NULL;LPDWORDpdwCurrentBrightness=NULL;LPDWORDpdwMaximumBrightness=NULL;HWNDhwnd=FindWin

python - 我可以通过 socket.fromshare 重用套接字文件句柄吗?

我正在编写一个文件缓存服务器来为网络服务器保存静态文件的副本。每当Web服务器中的线程需要静态文件时,它都会打开一个到缓存服务器的套接字连接,并将socket.share()的结果+它想要的文件名发送给它。缓存服务器使用socket.share的结果通过socket.fromshare访问http客户端并发送静态文件的内容。然后它关闭它的http客户端套接字副本,以及线程与它的连接。我想知道使用socket.detach而不是socket.close是否会自动提高性能?socket.detach的文档是这样说的:Putthesocketobjectintoclosedstatewith

python - WinError6 句柄无效 Python 3+ 多处理

我正在运行一个Python3.7Flask应用程序,它使用flask_socketio为浏览器客户端设置一个socketio服务器,另一个python进程连接到一个单独的远程socketio服务器和交换消息,以及另一个从PIR传感器读取输入的python进程。两个python进程通过multiprocessing.Queue进行通信-但是,socketio进程总是得到[WinError6]-InvalidHandle或[WinError5]-权限被拒绝。我完全不知道自己做错了什么。这是顶级(服务器)代码;它似乎没有问题:fromshotsocketimportinitasshotsoc

windows - 打开闪存驱动器的句柄给我一个 "Access Denied"错误代码

我想知道为什么当我尝试创建USB闪存驱动器的句柄时,我收到找不到路径的错误消息。HANDLEaFile=CreateFile(_T("\\\\.\\F:\\"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(aFile==INVALID_HANDLE_VALUE){printf("\n");printf("Badhandlevalue.Error%d\n",GetLastError());}我想从那里读取一个512字节的流(引导扇区)到一个.bin文件,但我似乎无法先通过句柄创建。Windows是否阻止

windows - 在 Windows 中检测文件句柄冲突

删除打开的文件等操作会导致文件句柄冲突。如果我需要检测此类文件句柄冲突,过滤器驱动程序(或微过滤器驱动程序)是唯一的选择吗? 最佳答案 我认为您要求的是:我有一个已打开文件的守护进程。当另一个进程想要访问该文件时,我希望守护进程得到通知并允许他关闭文件,如果可能的话,以允许另一个进程继续。这需要守护进程使用“oplocks”。请参阅有关机会锁的MSDN文档。 关于windows-在Windows中检测文件句柄冲突,我们在StackOverflow上找到一个类似的问题: