2012-06-13 46 views
1

我想在我的一個NSIS頁面中放置一個超鏈接。在NSIS自定義頁面創建一個超鏈接:什麼都不做

我的問題:超鏈接在點擊時沒有打開網頁甚至網頁瀏覽器(沒有任何反應),而當我將鼠標懸停在鏈接上時,它沒有下劃線。

我是否正確使用超鏈接? NSIS頁面中的超鏈接是否意味着在懸停時強調/突出顯示?

你能幫我拿我的代碼來創建一個正常運行的超鏈接嗎?

${NSD_CreateLink} 218u 128u 60u 20u "Manual Installation" 
Pop $R9 
${NSD_OnClick} $R9 onManualInstallClick 

Function onManualInstallClick 
    ExecShell "open" "http://www.google.com.au" 
FunctionEnd 

回答

1

您忘記彈出在調用onClick回調函數時壓入堆棧的HWND參數。

嘗試

!define DEBUG `System::Call kernel32::OutputDebugString(ts)` 
Function onManualInstallClick 
    pop $0 
    ${DEBUG} "Link clicked" 
    ExecShell "open" "http://www.google.com.au" 
FunctionEnd 
+0

感謝您的答覆。但它仍然沒有打開網頁瀏覽器,沒有任何反應。任何想法我做錯了什麼? –

+1

@JakeM:回調執行了嗎?我修改了我的示例,用debug api添加了一些跟蹤。如果使用MS站點中現有的免費[DebugView](http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx)Sysinternal工具,則可以捕獲這些工具。 – Seki

+0

感謝您的幫助。發現我的超鏈接窗口在另一個透明窗口後面。這意味着它沒有收到鼠標事件 –