-2

Flash.exeではなくmyfile.flaが閉じるまで監視したい.つまり、Flash.exeでは
なく
myfile.flaが閉じるまで待ちたい.
つまり、Flash.exe ではなくmyfile.fla
のイベントをキャッチするにはどうすればよいですか?

' 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

次のコードを使用して、Windowsのタイトルを監視できます

public static void Main ( ) { IntPtr hwnd = UnsafeNativeMethods.FindWindow("メモ帳", null); StringBuilder stringBuilder = new StringBuilder(256); UnsafeNativeMethods.GetWindowText(hwnd, stringBuilder, stringBuilder.Capacity); Console.WriteLine(stringBuilder.ToString()); } } [SuppressUnmanagedCodeSecurity] internal static class 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)] internal static extern IntPtr FindWindow (文字列 lpClassName, 文字列 lpWindowName );

}

于 2012-05-17T05:26:30.437 に答える
0

(編集:この回答は、ユーザーが質問をメモ帳からフラッシュに変更する前に書かれました。ため息


メモ帳は自動化をサポートしていないため、「公式にサポートされている」方法はありません。

たとえば、いくつかのハックを導出できる場合があります。

  • メモ帳のアプリケーションタイトルを継続的にチェックするか、
  • ファイルにまだロックがかかっているかどうかを確認します(メモ帳が何らかの方法でファイルをロックしている場合、私にはわかりません)。

それでも、ソリューションは非常に見苦しく、Windows API 呼び出しが必要になる可能性があります。解決しようとしている正確な問題を詳しく説明すると、別の解決策が提案される可能性があります。

于 2012-05-16T07:02:07.600 に答える