-2

我想一直观察直到 myfile.fla 关闭而不是 Flash.exe

我想等到 myfile.fla 关闭而不是 Flash.exe

如何
在 c#中捕获 myfile.fla 关闭而不是 Flash.exe 的事件

' Open the notepad application
        info.FileName = "Flash.exe"

        ' Pass a text file name so that notepad will open it
        info.Arguments = "c:\MyFile.fla"
        process.StartInfo = info

        ' Start the process (notepad)
        process.Start()
4

2 回答 2

0

(编辑:这个答案是在用户将他的问题从记事本更改为 Flash 之前写的。叹息


由于记事本不支持自动化,因此没有“官方支持”的方式来做到这一点。

也许可以得出一些技巧,例如,

  • 通过不断检查记事本的应用程序标题或
  • 通过检查文件上是否还有一些锁定(如果记事本以某种方式锁定文件,我不知道)。

尽管如此,该解决方案可能会非常难看,并且需要 Windows API 调用。也许如果您详细说明您要解决的确切问题,可以建议替代解决方案。

于 2012-05-16T07:02:07.600 回答
0

我可以使用以下代码关注 Windows 标题

public static void Main () { IntPtr hwnd = UnsafeNativeMethods.FindWindow("Notepad", null); StringBuilder stringBuilder = new StringBuilder(256); UnsafeNativeMethods.GetWindowText(hwnd, stringBuilder, stringBuilder.Capacity); Console.WriteLine(stringBuilder.ToString()); } } [SuppressUnmanagedCodeSecurity] 内部静态类 UnsafeNativeMethods { [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] 内部静态 extern int GetWindowText ( IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount ); [DllImport("user32.dll", SetLastError = true)] internal static extern IntPtr FindWindow (string lpClassName, string lpWindowName);

}

于 2012-05-17T05:26:30.437 回答