Flash特定文件上的Catch事件关闭

时间:2012-05-16 06:49:01

标签: c#

我想留意,直到myfile.fla关闭而不是Flash.exe

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

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

' 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()

2 个答案:

答案 0 :(得分:0)

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


由于记事本不支持自动化,因此没有“官方支持”的方法。

可能能够派出一些黑客,例如,

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

但是,该解决方案可能非常难看,需要Windows API调用。也许如果你详细说明你试图解决的确切问题,可以建议另一种解决方案。

答案 1 :(得分: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)]     internal static extern int GetWindowText(IntPtr hWnd,[Out] StringBuilder lpString,int nMaxCount);     [DllImport(“user32.dll”,SetLastError = true)]     内部静态extern IntPtr FindWindow(string lpClassName,string lpWindowName);

}