private void processTick() { if (gameProcessName != null) { foreach (var process in Process.GetProcesses().Where(x => x.Id == gameProcess)) { if (process.HasExited || process.ProcessName.ToLower() != gameProcessName) break; return; } gameProcessName = null; Thread.Sleep(5000); foreach (var process in Process.GetProcesses()) { if (process.Id == uplayProcess) { process.Kill(); } } return; } Win32API.EnumWindows((hwnd, data) => { StringBuilder sb = new StringBuilder(1024); Win32API.GetClassName(hwnd, sb, sb.Capacity); if(sb.ToString() == "UplayPCWindowClass") { Win32API.SetForegroundWindow(hwnd); var inputs = new List<Win32API.INPUT>(); var keyInput = new Win32API.INPUT() {type = 1, U = new Win32API.InputUnion()}; keyInput.U.ki = new Win32API.KEYBDINPUT(); keyInput.U.ki.wVk = Win32API.VirtualKeyShort.TAB; inputs.Add(keyInput); keyInput.U.ki.time = 5; keyInput.U.ki.dwFlags = Win32API.KEYEVENTF.KEYUP; inputs.Add(keyInput); keyInput.U.ki.time = 10; keyInput.U.ki.wVk = Win32API.VirtualKeyShort.SPACE; keyInput.U.ki.dwFlags = 0; inputs.Add(keyInput); keyInput.U.ki.time = 15; keyInput.U.ki.dwFlags = Win32API.KEYEVENTF.KEYUP; inputs.Add(keyInput); Win32API.SendInput(inputs.Count, inputs.ToArray(), Win32API.INPUT.Size); Thread.Sleep(500); foreach (var process in Process.GetProcesses()) { if (process.ProcessName.ToLower() == "uplay") { uplayProcess = process.Id; var list = ListChildProcesses(process.Id); if (list.Count == 0) return true; var child = list.First(); gameProcessName = child.Item1.ToLower().Replace(".exe",""); gameProcess = child.Item2; } } } return true; }, 0); }
private void processTick() { if (gameProcessName != null) { foreach (var process in Process.GetProcesses().Where(x => x.Id == gameProcess)) { if (process.HasExited || process.ProcessName.ToLower() != gameProcessName) { break; } return; } gameProcessName = null; Thread.Sleep(5000); foreach (var process in Process.GetProcesses()) { if (process.Id == uplayProcess) { process.Kill(); } } return; } Win32API.EnumWindows((hwnd, data) => { StringBuilder sb = new StringBuilder(1024); Win32API.GetClassName(hwnd, sb, sb.Capacity); if (sb.ToString() == "UplayPCWindowClass") { Win32API.SetForegroundWindow(hwnd); var inputs = new List <Win32API.INPUT>(); var keyInput = new Win32API.INPUT() { type = 1, U = new Win32API.InputUnion() }; keyInput.U.ki = new Win32API.KEYBDINPUT(); keyInput.U.ki.wVk = Win32API.VirtualKeyShort.TAB; inputs.Add(keyInput); keyInput.U.ki.time = 5; keyInput.U.ki.dwFlags = Win32API.KEYEVENTF.KEYUP; inputs.Add(keyInput); keyInput.U.ki.time = 10; keyInput.U.ki.wVk = Win32API.VirtualKeyShort.SPACE; keyInput.U.ki.dwFlags = 0; inputs.Add(keyInput); keyInput.U.ki.time = 15; keyInput.U.ki.dwFlags = Win32API.KEYEVENTF.KEYUP; inputs.Add(keyInput); Win32API.SendInput(inputs.Count, inputs.ToArray(), Win32API.INPUT.Size); Thread.Sleep(500); foreach (var process in Process.GetProcesses()) { if (process.ProcessName.ToLower() == "uplay") { uplayProcess = process.Id; var list = ListChildProcesses(process.Id); if (list.Count == 0) { return(true); } var child = list.First(); gameProcessName = child.Item1.ToLower().Replace(".exe", ""); gameProcess = child.Item2; } } } return(true); }, 0); }