我正在尝试使用Win32 API自动化一系列用户输入到C#中的已编译应用程序.我没有任何我试图控制的应用程序的源代码,它正在运行,而我正在尝试控制它.在我的代码中,我有一个按钮,当单击时,需要为我试图控制的应用程序生成3个输入的序列:
它的工作方式是步骤2中的按钮根据在步骤1中的树视图中选择的项目执行操作.我能够通过简单地发送消息使按钮单击工作得很好,但我无法弄清楚如何选择我想要的TreeView项目.TreeView是静态的,因此项目和布局永远不会改变.它有以下布局:
-itemsA
-itemsB
--itemB1
-itemsC
其中itemB1是需要选择的项目,以便步骤2和3中的按钮单击工作.默认情况下,ItemsB已折叠,因此我可能需要先展开它才能选择ItemB1?这是我的代码.我非常感谢任何帮助!!
//Find Window API
[DllImport("User32.dll")]
public static extern Int32 FindWindow(String lpClassName, String lpWindowName);
//Find WindowEx API
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
//Send Message API
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SendMessage(int hWnd, int msg, int wParam, IntPtr lParam);
private const int BN_CLICKED = 245;
//Method called by button click
public static void Start()
{
int hwnd = …Run Code Online (Sandbox Code Playgroud) 我使用VS 2010在C#中编写了一个WPF应用程序.应用程序将在使用Visual Studio的调试模式下正常运行,但是当我从bin\release文件夹运行.EXE时,没有任何反应.我没有收到来自Windows的任何错误消息,并且VS中没有错误或警告.我试图建立,重建和清理解决方案(按照每种可能的顺序),没有运气.我的解决方案包含2个项目,两个都使用.NET 4.0框架,我的PC上安装了.NET 4.0.我试过XP和Win7,但仍然没有.
我还注意到,当我在调试模式下运行应用程序时,Debug的输出显示:"无法找到或打开PDB文件".每次加载后都会加载.
我每次都在编译到Release文件夹,但我确实尝试将其更改为调试文件夹并清理/重建只是为了看看是否会产生影响,并且它没有,所以我将其更改回来,再次尝试,仍然没有.
有任何想法吗?
我在我的仓库中有一个分支,我想要复制到仓库中当前不存在的并行位置.(即我目前有\ depot\rev6.2 ......我需要在\ depot\rev6.2b创建另一个分支...)我还想做两件事:
首先,我需要将rev6.2中的更改列表历史记录复制到rev6.2b.当我尝试使用集成功能时,我在软件仓库中有一个新分支,但历史记录是空白的(只有1个条目来自我提交的CL以创建分支).
第二个(如果可能的话)我想找到一个快速的方法,以便如果在rev6.2中进行了新的更改,我也可以轻松地将它们应用到rev6.2b分支.
我是一个非常基本的P4V用户(2011.1),所以越多细节就越好.在此先感谢您的帮助!!