Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Flash特定文件关闭时捕获事件_C# - Fatal编程技术网

C# 在Flash特定文件关闭时捕获事件

C# 在Flash特定文件关闭时捕获事件,c#,C#,我想一直监视,直到myfile.fla关闭,而不是Flash.exe ie 我想等到myfile.fla关闭,而不是Flash.exe ie 如何捕获myfile.fla关闭而不是Flash.exe的事件 在c中# (编辑:这个答案是在用户将问题从记事本改为Flash之前写的。叹气) 因为记事本不支持自动化,所以没有“官方支持”的方法来实现 你可能会得到一些技巧,例如 通过不断检查记事本的应用程序标题或 通过检查文件是否仍然有一些锁定(如果记事本以某种方式锁定了文件,我不知道) 不过,该解

我想一直监视,直到myfile.fla关闭,而不是Flash.exe
ie
我想等到myfile.fla关闭,而不是Flash.exe
ie
如何捕获myfile.fla关闭而不是Flash.exe的事件
在c中#

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


因为记事本不支持自动化,所以没有“官方支持”的方法来实现

你可能会得到一些技巧,例如

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

不过,该解决方案可能非常难看,需要调用Windows API。如果您详细说明您正试图解决的确切问题,可能会提出另一种解决方案。

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

公共静态void Main() { IntPtr hwnd=unsafentivemethods.FindWindow(“记事本”,null); StringBuilder StringBuilder=新的StringBuilder(256); GetWindowText(hwnd、stringBuilder、stringBuilder.Capacity); Console.WriteLine(stringBuilder.ToString()); } } [SuppressUnmanagedCodeSecurity] 内部静态类非激励方法 { [DllImport(“user32.dll”,SetLastError=true,CharSet=CharSet.Auto)] 内部静态外部int GetWindowText(IntPtr hWnd,[Out]StringBuilder lpString,int nMaxCount); [DllImport(“user32.dll”,SetLastError=true)] 内部静态外部IntPtr FindWindow(字符串lpClassName,字符串lpWindowName)


}

你的问题毫无意义。使用记事本时,关闭文件与关闭记事本非常相似;除非您在同一记事本实例中打开另一个文件,该实例将关闭以前打开的任何文件,但该事件不能(合理地)从记事本本身外部“捕获”。您最好询问您想要实现什么(而不是如何实现)。是否要检测文件更改?如果是这样,请检查类。是的,你是对的,但在flash的情况下,一个实例可以打开多个文件,或者让它打开单个文件,如果你关闭该文件,认为flash仍然处于打开状态。你在开玩笑吗?首先你们问关于记事本的问题,并没有你们编辑过的问题来闪现?!?不,我不想检测文件的更改,就像它被更改、创建、删除一样,我只想检查myfile.fla上的文件是否与flash实例接近,或者听起来不太好。继续检查应用程序标题和应用程序是否锁定文件。如果你知道更多关于这一点,请ping我的链接嘿,我正在检查应用程序标题,但它的工作,有时它不工作什么时候应该是问题?
' 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()