标签: spy++

如何使用Visual Studio 2017获取Spy ++?

背景

我在寻找间谍++.我相信它应该包含在Visual Studio 2017中,因为最新的Visual Studio帮助内容引用它:https: //docs.microsoft.com/en-us/visualstudio/debugger/introducing-spy-increment.

问题

我刚刚完成了Visual Studio 2017的全新安装,但文件系统中不存在Spy ++.我找不到它.

所以我想在安装Visual Studio以安装Spy ++时需要选择某些"工作流程"?谁知道这是否正确?如果是这样,我需要哪个工作流程/功能?

建立

  • Windows 10
  • Visual Studio Professional 2017 15.1(26403.3)

spy++ visual-studio-2017

54
推荐指数
2
解决办法
3万
查看次数

我想要Spy ++,但我没有Visual Studio

我只有SQL Server 2008客户端工具.我想使用Spy ++,但当然,它只附带Visual Studio安装.

我可以使用Spy ++有一个很好的替代品吗?

.net spy++

51
推荐指数
5
解决办法
7万
查看次数

是否有针对WPF的Spy ++ like实用程序?

作为Win32背景下的"硬核"WinForms程序员,我一直使用Spy ++来理解我的应用程序在UI级别上做了什么,包括:

  • 查看控件发送给对方的事件.
  • 在运行时查看控制树
  • 查找绘制部分显示的控件

然后我经常在源代码中搜索控件名称,当你不得不在一个你不熟悉的大型应用程序上更改UI时非常有用.

那么我如何对WPF应用程序做同样的事情呢?

(如果需要,您可以假设我可以访问WPF应用程序的源代码,但我更确切地说,该实用程序在不需要应用程序源代码的情况下工作.)


感谢您的回答,我刚刚在StackOverflow中搜索了" Snoop ",并在WPF工具列表中找到了一些问题/答案.

wpf utilities spy++

27
推荐指数
2
解决办法
8885
查看次数

C#从任务栏隐藏应用程序

我一直在努力从应用程序中隐藏任务栏中的另一个应用程序.
我一直在使用SetWindowLong函数来设置/删除扩展样式上的WS_EX_APPWINDOW .

我已尝试单独设置和删除属性以及获取当前WindowLong,并删除/添加到该属性,如下所示:

SetWindowLong(pMainWindow, GWL_EXSTYLE, GetWindowLong(pMainWindow) & WS_EX_APPWINDOW);
Run Code Online (Sandbox Code Playgroud)

并尝试删除它:

SetWindowLong(pMainWindow, GWL_EXSTYLE, GetWindowLong(pMainWindow) & ~WS_EX_APPWINDOW);
Run Code Online (Sandbox Code Playgroud)

在没有先让窗口长的情况下也尝试了这两种方法.这是我的整个代码:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    [DllImport("User32.dll")]
    public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);
    [DllImport("User32.dll")]
    public static extern int GetWindowLong(IntPtr hWnd, int nIndex);

    [DllImport("user32.dll")]
    static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

    private const int SW_HIDE = 0x00;
    private const int SW_SHOW = 0x05;

    private const int WS_EX_APPWINDOW = 0x40000;
    private const …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke spy++

12
推荐指数
1
解决办法
8217
查看次数

如何在我的C#应用​​程序中获得与Spy ++类似的功能?

我有兴趣为开源密码管理器Keepass开发一个插件.目前,Keepass目前根据窗口标题检测要为您复制/粘贴的密码.这可以防止Keepass检测到根据当前站点(例如Chrome)未主动更新其窗口标题的应用所需的当前密码.

如何通过类似于Spy ++工作方式的其他进程窗口元素(按钮,标签,文本框)?当您运行Spy ++时,您可以将鼠标悬停在其他程序窗口上,并获取有关各种控件(标签,文本框等)的各种属性的各种信息.理想情况下,我希望我的Keepass插件通过遍历活动窗口的元素来增强当前窗口检测,以便找到匹配的帐户来复制/粘贴密码.

如何使用C#处理其他进程窗口元素并能够检索标签和文本框值?

c# winapi spy++

10
推荐指数
1
解决办法
2万
查看次数

为什么有些项目在Spy ++的Windows视图中显示为灰色?

要修改另一个程序的窗口,我需要SysTreeView32使用EnumChildWindowsAPI调用在其中找到特定的窗口.

当我使用Spy ++检查窗口时,其中有许多SysTreeView32内容但除了一个之外都是灰色的,这是我正在寻找的.

以下图片是灰色项目的示例:

为什么有些物品是灰色的?

为什么显示的项目是灰色的,以及Spy ++使用什么API调用来知道它是否应该使项目变灰?

windows winapi spy++ spy

10
推荐指数
1
解决办法
1114
查看次数

如何从Windows中的打开应用程序中读取值?

我想创建一个程序或使用一个程序来读取另一个应用程序的内存值.有谁知道这样做的应用程序/库?

目标应用就是 这个.我想从中读取汇率值.

我是一名经验丰富的c#程序员,但从未使用过Win32/user32 api,这是我假设我必须处理的事情.

任何能帮助我朝着正确方向前进的帮助都非常感谢.

更新: 我设法使用Spy ++来获取窗口句柄,所以我确信我可以获得一些值的方法.

c# windows winapi spy++

8
推荐指数
1
解决办法
3634
查看次数

间谍++如何找出屏幕上某个点的窗口是什么?

我很好奇间谍++ Finder工具如何找到鼠标所在窗口的窗口句柄.是否有任何WIN32函数用于获取占据显示器上某个像素的最顶层窗口的句柄?

c++ winapi spy++

7
推荐指数
2
解决办法
5159
查看次数

Spy ++ for PowerBuilder应用程序

我正在尝试编写一个工具,让我检查基于PowerBuilder的应用程序的状态.我正在考虑的是像Spy ++(或者更好的,"Snoop",因为它存在于.NET应用程序中),它允许我检查一些基于PowerBuilder的GUI的对象树(和对象的属性).

我对普通(基于MFC)的应用程序以及.NET应用程序已经做了同样的事情,但不幸的是我自己从未在PowerBuilder中开发过应用程序,所以我现在通常会考虑两个问题:

  1. 是否有一些API(最好是Java或C/C++)可以让人们遍历PowerBuilder应用程序的可视对象树?我在PowerBuilder Native Interface系统上读了一下,但似乎这是用C/C++编写PowerBuilder扩展,然后可以用PowerBuilder脚本语言调用,对吧?

  2. 如果有一些可用的API - 也许PowerBuilder应用程序甚至会暴露某种支持IPC的API,它允许我检查PowerBuilder对象层次结构的状态而不在PowerBuilder应用程序的进程中?也许有可用的自动化界面,或基于COM的东西 - 或者其他东西?

现在,我的印象是可能需要将一个DLL注入到PowerBuilder应用程序的进程中,然后获得对正在运行的PowerBuilder VM的访问权限,以便我可以查询它以获取对象树.然后,某种IPC机制将允许我将此信息传输出PowerBuilder应用程序的进程.

有没有人有这方面的经验,或者可以说明是否有人试图这样做?

最好的祝福,

  • Frerich

powerbuilder introspection code-injection spy++

6
推荐指数
1
解决办法
1653
查看次数

为什么Control.FromHandle(IntPtr)在一个钩子进程中返回null并返回"Form"的有效对象?在另一个钩过程中?

我正面临一个问题,从一些钩子进程中取出所有控件.我的SpyDll成功地启动了钩子流程,但当我查看声明时

控制控件= Control.FromHandle(MainWindowHandle),它将null返回到控制对象,其中"MainWindowhandle"只是该挂钩进程的本机主窗口句柄,在启动该进程后,您始终从.NET"Process"类中获取该处理.

但严重的是,它发生在其他一些钩子进程中,它是同一个C#.NET应用程序,它返回Main"WinForm"的有效对象.

那么为什么它不适用于上述情况呢?是否有正确使用"MainWindowHandle"的例外情况.在我的例子中,两者都是用C#编程的单独的.NET托管进程.在创建该流程时,是否需要特别维护任何流程配置?

关心乌斯曼

.net c# spy++ winforms dll-injection

5
推荐指数
1
解决办法
7958
查看次数