草庐IT

FindWindow

全部标签

c# - 来自 user32.dll 的 FindWindowEx 使用 dllimport 返回零句柄和 127 错误代码

我需要以编程方式处理另一个Windows应用程序,搜索谷歌我找到了一个示例,它使用DLLImport属性处理Windows计算器并将user32.dll函数导入C#中的托管函数。应用程序正在运行,我正在获取主窗口的句柄,即计算器本身,但之后的代码无法正常工作。FindWindowEx方法不返回计算器子项的句柄,例如按钮和文本框。我尝试在DLLImport上使用SetLastError=True并发现我收到错误代码127,即“未找到过程”。这是我从中获得示例应用程序的链接:http://www.codeproject.com/script/Articles/ArticleVersion.

c# - FindWindow 和 SetForegroundWindow 替代品?

我正在寻找使用FindWindow()和SetForegroundWindow()切换到不同应用程序的旧User32.dll版本的替代方案.我确实找到了使用Process.GetProcessesByName()的第一个替代方法,但我没有看到切换(设置事件/前景)到该应用程序的相应方法。有没有一种方法可以不使用User32.dll的旧方法来做到这一点?感谢您的帮助。编辑虽然这不是我要找的答案,但我接受了@Sorceri的回答。 最佳答案 回答:没有但是,为了帮助下一个寻找窗口并从C#激活它的好奇者,您必须执行以下操作:[DllImp

c++ - 键盘记录器不会在没有控制台的情况下记录击键

我用C++创建了一个小型的基本按键记录器。出于某种原因,当我在显示控制台的情况下编译和运行程序时,它会记录我在我使用的任何程序(例如浏览器)中所做的每个击键并将其存储在文本文件中。但是,当我让它不显示控制台窗口时,它不会记录任何内容,它只是后台的一个进程,什么都不做。这是我的代码的链接:http://pastebin.com/4wqQyLJ9隐藏控制台给我带来麻烦的函数是Stealth()函数。任何建议、技巧或提示都会有所帮助。 最佳答案 使用这个功能,对我来说效果很好。ShowWindow(GetConsoleWindow(),S

c++ - FindWindow 没有找到窗口

我计划用C++制作一个简单的训练控制台,但第一步我遇到了FindWindow()的问题#include#include#include#include#includeLPCTSTRWindowName="MozillaFirefox";HWNDFind=FindWindow(NULL,WindowName);intmain(){if(Find){printf("FOUND\n");getch();}else{printf("NOTFOUND");getch();}}上面的代码我用FindWindow()试试看是否执行命令但是执行输出的时候总是显示NOTFOUND我已经从property

windows - 如何在 Windows 8.1 Update 2 操作系统中使用 PowerShell 环境中的 Win32 API FindWindow() 查找桌面窗口(按窗口名称)?

我不记得在较旧的Windows操作系统中找到窗口有任何问题,但是,我在Windows8.1Update2操作系统中使用PowerShellv4.0没有成功。这是我正在使用的PowerShellv4.0代码(非常简单):$sig=@'[DllImport("user32.dll")]publicstaticexternIntPtrFindWindow(StringsClassName,StringsAppName);'@$fw=Add-Type-NamespaceWin32-NameFuncs-MemberDefinition$sig-PassThru$wname='Form1'#any

c++ - 为什么 FindWindow 找到了 EnumChildWindows 找不到的窗口?

我正在寻找一个类名为“CLIPBRDWNDCLASS”的窗口(它可以在办公应用程序和其他应用程序中找到)。如果我使用FindWindow或FindWindowEx,我会找到第一个具有此类的HWND,但我想要所有具有该类的窗口,因此我决定使用递归EnumChildWindows来枚举所有窗口并找到我想要的窗口://-------------------------------------------------------------------------------BOOLCALLBACKenum_wnd_proc(HWNDh,LPARAMlp){charcls[1024]={0};
12