2010-11-11 53 views
0

問題上下文:創建鉻彈出用C++程序

我有一個C++程序和web存在。目前,事情的方式工作,我用javascript和html做了一個控制面板。它通過一個不重要的通信媒介發送命令來控制事物或從C++程序獲取信息。

現在,當C++程序啓動,我讓它運行

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

這是啓動與給定地址的默認瀏覽器的方法。該addressBuffer在這種情況下,指向一箇中間的HTML文件,迅速轉身,並使用

window.open() 
在Javascript

打開最後彈出,然後自行關閉。

結果是用戶現在擁有我希望他們擁有的彈出控制面板,但用戶的主瀏覽器窗口也獲得了焦點,未最小化並放置在與他們選擇的不同的選項卡上。 (基本上彈出從哪兒冒出來選擇另一個選項卡)

問題:

我正在尋找一種方式來啓動Chrome彈出,而不干擾先前打開的瀏覽器窗口。任何想法或解決方案都會非常有幫助。

最後,值得注意的是,上述代碼中的「 - new-window」實際上並沒有像您期望的那樣打開一個新窗口。在這種情況下,它實際上什麼都不做......如果它確實起作用,這些都不是真正的問題。

我知道這是羅嗦,所以在此先感謝您的時間!

-Michael

+0

好吧,我對這個地方的知識還不夠了解,我需要這樣做。 – 2010-11-11 17:10:23

回答

0

好的,我想出了一個解決方案。

有關ShellExecute如何處理它的命令是防止命令行參數正確傳遞。

我的工作,包括周圍抓住路徑從註冊表, HKET_LOCAL_MACHINE \ SOFTWARE \微軟\的Windows \ CurrentVersion \ App路徑\的chrome.exe 然後,只需做一個系統()與鉻路徑命令「Chrome瀏覽器 - 新窗口「和網絡路徑。

然後我讓中間的html頁面打開它彈出並關閉本身。

田田完成。

謝謝。