捕获闪存特定文件关闭上的事件
本文关键字:事件 文件 闪存 | 更新日期: 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 );
}