小编use*_*603的帖子

如何使用Win32 API在TreeView中选择项目

我正在尝试使用Win32 API自动化一系列用户输入到C#中的已编译应用程序.我没有任何我试图控制的应用程序的源代码,它正在运行,而我正在尝试控制它.在我的代码中,我有一个按钮,当单击时,需要为我试图控制的应用程序生成3个输入的序列:

  1. 在树视图中选择一个项目
  2. 单击按钮
  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)

c# api winapi c#-4.0

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

WPF DotNET应用程序将以调试模式运行,但.EXE将无法运行

我使用VS 2010在C#中编写了一个WPF应用程序.应用程序将在使用Visual Studio的调试模式下正常运行,但是当我从bin\release文件夹运行.EXE时,没有任何反应.我没有收到来自Windows的任何错误消息,并且VS中没有错误或警告.我试图建立,重建和清理解决方案(按照每种可能的顺序),没有运气.我的解决方案包含2个项目,两个都使用.NET 4.0框架,我的PC上安装了.NET 4.0.我试过XP和Win7,但仍然没有.

我还注意到,当我在调试模式下运行应用程序时,Debug的输出显示:"无法找到或打开PDB文件".每次加载后都会加载.

我每次都在编译到Release文件夹,但我确实尝试将其更改为调试文件夹并清理/重建只是为了看看是否会产生影响,并且它没有,所以我将其更改回来,再次尝试,仍然没有.

有任何想法吗?

.net c# .net-4.0 visual-studio-2010 wpf-4.0

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

将文件复制到新分支并将更改列表历史记录保留在P4V中

我在我的仓库中有一个分支,我想要复制到仓库中当前不存在的并行位置.(即我目前有\ depot\rev6.2 ......我需要在\ depot\rev6.2b创建另一个分支...)我还想做两件事:

首先,我需要将rev6.2中的更改列表历史记录复制到rev6.2b.当我尝试使用集成功能时,我在软件仓库中有一个新分支,但历史记录是空白的(只有1个条目来自我提交的CL以创建分支).

第二个(如果可能的话)我想找到一个快速的方法,以便如果在rev6.2中进行了新的更改,我也可以轻松地将它们应用到rev6.2b分支.

我是一个非常基本的P4V用户(2011.1),所以越多细节就越好.在此先感谢您的帮助!!

version-control perforce p4v

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