在 Windows 资源管理器 c#/vb .net 中选择命名空间扩展中的文件/文件夹

本文关键字:扩展 命名空间 文件夹 文件 选择 net Windows 资源管理器 vb | 更新日期: 2023-09-27 18:36:24

我正在实现一个命名空间扩展,它在"我的电脑"中可见。我想编写自动测试用例来浏览相同的内容。我可以打开资源管理器窗口,直到命名空间扩展。如-

Process.Start("explorer.exe", "shell:::{CLSID of my namespace }")

接下来我想在打开的窗口中搜索特定的文件夹名称。例如,如果我将输入作为"temp",那么我的鼠标应该移动到命名空间资源管理器窗口中的"temp"文件夹。然后我双击鼠标的当前位置并输入该文件夹。接下来,我输入为"Doc1.doc",然后我的鼠标应该能够找到并移动到"Doc1.doc"文件。此外,getDirectory 或 GetFile 等 API 也不起作用,因为我没有与我的命名空间关联的标准驱动器,也没有相对路径。

请帮忙。

在 Windows 资源管理器 c#/vb .net 中选择命名空间扩展中的文件/文件夹

我能够通过使用sendkeys命令实现同名扩展的浏览部分。我用它来首先打开资源管理器窗口(Win + E)。接下来,我尝试模拟按键,假设如果我必须双击名为"temp"的文件夹,我将"temp"作为击键发送并按"Enter"。事实证明,"输入模拟器"在实现相同的目标方面非常有帮助。

做一个鼠标模拟似乎非常棘手和有风险,正如从许多帖子中读到的那样,所以避免了这一点。

我不想直接执行我的代码(为此我已经编写了单元测试),但我想模拟用户的工作方式,这将在内部触发我的代码。