// プロセスを閉じる。ちょっとバグがあるので、外からアクセスできないように protected void Close() { HmNodeIPCClient.UnregisterChannnel(IP); try { var fileProcMap = HmNodeIPCServerListManager.GetExistProcessList(); // HmNodeProxyプロセスを列挙する foreach (System.Diagnostics.Process proc in System.Diagnostics.Process.GetProcessesByName("HmNodeProxy")) { // テキスト内にあるプロセスに対して… foreach (var pm in fileProcMap) { // 実際に走っているプロセスのIDと一致したら… if (pm.IP == IP && pm.processID == proc.Id) { // ウィンドウが無い場合にそなえてネイティブレベルでWM_CLOSEを送る proc.SendMessageCloseWindow(); // 閉じるプロセスだけは除去 fileProcMap = fileProcMap.FindAll((m) => { return(m.processID != pm.processID); }); // 1つ除去したリストで書き込み HmNodeIPCServerListManager.WriteProcesMap(fileProcMap); // こちらは、IsVisibleでないと機能しない。 // proc.CloseMainWindow(); break; } } } } catch (Exception e) { Console.WriteLine(e.Message); } }
public HmNodeRemoteObject.ResponseData GetLastResponse() { return(HmNodeIPCClient.GetLastResponse(IP)); }
public HmNodeRemoteObject.ResponseData GetResponse(System.Collections.Specialized.NameValueCollection param) { return(HmNodeIPCClient.GetResponse(IP, param)); }