static void lista() { Process[] processes = Process.GetProcesses(); //int i = 0; IntPtr self = Process.GetCurrentProcess().MainWindowHandle; foreach (Process p in processes) { if (!String.IsNullOrEmpty(p.MainWindowTitle)) { long typ = (long)WindowType(p.MainWindowHandle); //https://msdn.microsoft.com/en-us/library/windows/desktop/ms632600(v=vs.85).aspx if (p.MainWindowHandle.ToInt64() != self.ToInt64()) { if (false || ( //((typ & 0x80000000L)==0) && ((typ & 0x20000000L) == 0) ) ) { if (DEBUG_OnlyWin) { if ((p.MainWindowTitle.CompareTo("{C:\\Program Files (x86)\\VideoLAN\\VLC} - Far 3.0.4400 x86") == 0) || (p.MainWindowTitle.CompareTo("{C:\\Program Files (x86)\\VideoLAN\\VLC} - Far 3.0.4545 x86") == 0) || (p.MainWindowTitle.CompareTo("Számológép") == 0) ) { outputpack.AddField("HWND", BabylonMS.BabylonMS.CONST_FT_INT64); outputpack.GetField(outputpack.FieldsCount() - 1).Value(p.MainWindowHandle.ToInt64()); } } else { if ((!p.MainWindowTitle.StartsWith("Android Monitor")) && (!p.MainWindowTitle.StartsWith("Prelimutens")) && (!p.MainWindowTitle.StartsWith("VRMainContentExporter"))) { outputpack.AddField("HWND", BabylonMS.BabylonMS.CONST_FT_INT64); outputpack.GetField(outputpack.FieldsCount() - 1).Value(p.MainWindowHandle.ToInt64()); } } } } } } }
// az aktuális pack tartalom engedélyezve? public bool isEnabled(BabylonMS.BMSEventSessionParameter session) { BabylonMS.BMSPack pack = session.inputPack; if (selection.Count() < 1) { return(true); } //if empty the selection list then accepted (all types) long cmd = pack.GetField(0).getValue(0); //CMD if (cmd == VRCEShared.CONST_COMMAND_STORE) //now only one type of IMAGEPACK { long hwnd = pack.GetFieldByName("HWND").getValue(0); String group = pack.GetFieldByName("GROUP").GetUUIDValue(0); if (selection.Find(x => ((x.type == Selection.CONST_PACKTYPE_IMAGE) && (x.hwnd == hwnd) && (x.hwndgroupUUID == group))) != null) { return(true); //found STORE/HWND data } else { if (selection.Find(x => ((x.type == Selection.CONST_PACKTYPE_IMAGE))) == null) { //ebben a t\pusban egy'ltal'n nincs adat akkor elfogadva return(true); } } return(false); } //check mouse if (cmd == VRCEShared.CONST_IC_EVENT) { String mouseUUID = session.shipUUID; if (selection.Find(x => ((x.type == Selection.CONST_PACKTYPE_CONTROLLER) && (x.mouseUUID == mouseUUID))) != null) { return(true); //found stored data erre az egérre fel van iratkozva } else { if (selection.Find(x => ((x.type == Selection.CONST_PACKTYPE_CONTROLLER))) == null) { //ebben a t\pusban egy'ltal'n nincs adat akkor úgy vesszük fel van iratkozva rá return(true); } } } return(false); //unknown pack CMD }