2010-11-11 3 views
0

контекст Проблема:Создание Chrome всплывающее окно с C++ программы

У меня есть программа C++ и веб-присутствия. В настоящее время, как все работает, я создал панель управления с javascript и html. И он отправляет команды через несущественную среду связи для управления вещами или получения информации из программы на C++.

Теперь, когда ++ Запускается программа C, я делаю это запустить

ShellExecute(NULL, "open", addressBuffer," --new-window", NULL, SW_NORMAL); 

Это способ запуска браузера по умолчанию с указанным адресом. AddressBuffer в данном случае указывает на промежуточный HTML файл, который быстро оборачивается и использует

window.open() 

в Javascript, чтобы открыть окончательный всплывающее окно, а затем закрывает себя.

В результате пользователь теперь имеет панель управления всплывающим окном, которую я хочу, чтобы они имели, но главное окно браузера пользователя также получает заданный фокус, не сведен к минимуму и помещается на другую вкладку, чем та, которую они выбрали. (В основном всплывает из ниоткуда и выбирает другую вкладку)

Проблема:

Я ищу способ запуска всплывающего окна Chrome, не нарушая ранее открытое окно браузера. Любые идеи или решения были бы очень полезными.

И, наконец, стоит отметить, что «-ново-окно» из приведенного выше кода фактически не открывает новое окно, как вы ожидали. В этом случае он фактически ничего не делает ... Если бы это сработало, ничто из этого не было бы проблемой.

Я знаю, что это слово, поэтому заблаговременно за вас!

-Michael

+0

Хорошо, я не знал достаточно об этом месте, чтобы знать, что мне нужно это сделать. –

ответ

0

Хорошо, я придумал решение.

Что-то о том, как ShellExecute обрабатывает его команды, предотвращало правильность передачи аргументов командной строки.

Моя работа вокруг включает в себя захват путь к Chrome из реестра, HKET_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ App Paths \ chrome.exe Тогда просто делает систему команд() с хромированной пути «- -ново-окно "и веб-путь.

Затем я позволю промежуточной странице html открыть всплывающее окно и закрыть его.

Tada производства.

Спасибо.

Смежные вопросы