lorents
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Добрый День! Нужна Ваша помощь: мне надо сделать проверку отдельного приложения, т.е. запущен он или нет, если нет, то мой проект его запускает, если он запущен, то выдвинуть на переднее окно. Код: instances_of_file = 0; file_to_check_for = "setup.exe"; processes = Window.EnumerateProcesses(); for j, file_path in processes do file = String.SplitPath(file_path); if (String.Lower(file.Filename..file.Extension)) == file_to_check_for then instances_of_file = instances_of_file + 1; hWnd = j; break; end end if instances_of_file > 0 then DLL.CallFunction("user32.dll", "OpenIcon", hWnd, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL); DLL.CallFunction("user32.dll", "SetForegroundWindow", hWnd, DLL_RETURN_TYPE_INTEGER, DLL_CALL_STDCALL); else File.Run("AutoPlay\\Docs\\Setup.exe", "", "", SW_SHOWNORMAL, false); end Window.Close(Application.GetWndHandle(), CLOSEWND_TERMINATE); | Вот мой код. Здесь проблем нет. А проблема в том, что я боюсь, а вдруг у пользователя уже запущен его файл "setup.exe", и выходит что я не могу запустить мой файл "setup.exe". я пытался получить пути где находятся запущенные процессы, чтобы сравнивать, по путям это мой или нет. не у меня ничего не вышло.
---------- Image Catalyst - оптимизация изображений без потери качества |
| Всего записей: 3297 | Зарегистр. 30-12-2007 | Отправлено: 16:27 26-05-2010 | Исправлено: lorents, 16:47 26-05-2010 |
|