Создание всплывающего окна Chrome с помощью программы на C ++ - PullRequest
0 голосов
/ 11 ноября 2010

Контекст проблемы:

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

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

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

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

window.open()

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

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

Проблема:

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

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

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

-Michael

1 Ответ

0 голосов
/ 11 ноября 2010

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

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

Мой обходной путь включает в себя получение пути к Chrome из реестра, HKET_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Пути к файлам \ chrome.exe Затем просто выполните команду system () с помощью chrome-пути "--new-window" и веб-пути.

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

Тада сделано.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...