捕获闪存特定文件关闭上的事件

本文关键字:事件 文件 闪存 | 更新日期: 2023-09-27 18:34:13

我想一直监视到myfile.fla关闭而不是Flash.exe

我想等到我的文件.fla关闭而不是闪存.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()

捕获闪存特定文件关闭上的事件

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


由于记事本不支持自动化,因此没有"官方支持"的方法可以做到这一点。

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

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

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

我可以使用以下代码监视窗口标题

公共静态空隙 主 ( ) { IntPtr hwnd = UnsafeNativeMethods.FindWindow("Notepad", null); StringBuilder stringBuilder = new StringBuilder(256); UnsafeNativeMethods.GetWindowText(hwnd, stringBuilder, stringBuilder.Capacity); Console.WriteLine(stringBuilder.ToString()); }}[抑制非托管代码安全性]内部静态类 不安全本机方法{ [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)] 内部静态外部 IntPtr FindWindow (字符串 lpClassName, string lpWindowName );

}