タイトル : 【解決】Re^8: Process.GetProcessesの表示順につきまして 投稿日 : 2011/05/09(Mon) 10:04 投稿者 : camputer
おはようございます。見事にファイルのOPEN時間順で並んでくれました^^ ↓2次元配列に入れてp.StartTimeでソートしてみました。 (2次元配列のソート方法がなかなか見つからず弱冠苦労いたしました。。- -;) 短いコードですので、ここに貼り付けさせていただきます。 (変数名に全角文字を使用している事はどうぞ許してやってください^^; Fortranなどと違い変数名に全角文字を入れるとコード全体の中のどの辺に 変数があるのか一目で分かるので、意図的にやってしまっております。) Public 配列_notepad(1)() As Object Dim リスト_StartTime As ArrayList = New ArrayList Dim リスト_WindowTitle As ArrayList = New ArrayList For Each p As Process In Process.GetProcesses() If Not p.MainWindowHandle.Equals(IntPtr.Zero) Then If (p.ProcessName = "notepad") Then リスト_StartTime.Add(p.StartTime) リスト_WindowTitle.Add(p.MainWindowTitle) End If End If Next 配列_notepad(0) = リスト_StartTime.ToArray 配列_notepad(1) = リスト_WindowTitle.ToArray Array.Sort(配列_notepad(1), 配列_notepad(0)) Array.Sort(配列_notepad(1), 配列_notepad(1)) For i As Integer = 0 To 配列_notepad(0).Length - 1 MsgBox(配列_notepad(0)(i) & "/" & 配列_notepad(1)(i)) Next 動作確認はXP上で行ってみました。未保存ファイル(メモ帳ショートカットから起動)に つきましても、そのOPEN時間を取れます。 おそらくOSによって弱冠挙動が変わるのではないかと思いますが、 今回いただけたアドバイスのおかげでまた面白いスキルが1つ手に入りました。 この度は連休の中、ご親切に誠にありがとうございました!!m(_ _)m |