Posts: 726
Threads: 99
Joined: Mar 2018
09-11-2018, 03:11 AM
(This post was last modified: 09-11-2018, 03:13 AM by win .)
Hello everyone, I want to use the right-click menu or the button in the dialog box to change the address of the web page in the main dialog box. I have encountered the following problem. I hope someone can help me, thanks in advance.
Question 1, I use two methods to open the dialog
1. Open the dialog box through the subroutine(sub.dia), but the error is indicated.
2. Open the dialog by defining a function(dia), which is normal
Question 2, when I click the right-click menu or button, it will not execute correctly
Macro
swf menu
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
sel message
, case WM_INITDIALOG
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
,
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
,, mac "swfmenu" "" mfpax hDlg
,
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 pop dialog
, ;-
, ;2 change maindialog url
, MenuPopup x.AddItems ( s)
, int i= x.Show
, sel i
,, case 1
,, dia
,, ;sub.dia ;;Unable to open dialog via subroutine
,, case 2 ;;Prompt error
,, SHDocVw. WebBrowser we4
,, we4._getcontrol ( id ( 4 hDlg))
,, we4.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub dia
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 224 136 "Dialog"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0 "*" "" "" ""
if ( ! ShowDialog ( dd & sub.DlgProc 0 )) ret
#sub DlgProc
function # hDlg message wParam lParam
sel message
, case WM_INITDIALOG
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case IDOK
, case IDCANCEL
, case 3 ;;mes
, mes "ok"
ret 1
Function
dia
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 224 136 "Dialog"
;3 Button 0x54032000 0x0 36 32 84 14 "change maindialog url"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
if ( ! ShowDialog ( dd & sub.DlgProc 0 )) ret
#sub DlgProc
function # hDlg message wParam lParam
sel message
, case WM_INITDIALOG
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case IDOK
, case IDCANCEL
, case 3
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
ret 1
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-11-2018, 06:06 AM
(This post was last modified: 09-11-2018, 06:45 AM by Kevin .)
wow many many mistakes here
the reason your sub dia function doesnt work because your calling
#sub DlgProc in your showdialog statement for dia which
is incorrect and is actually the dialog process for your main dialog
change to
#sub dia
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 224 136 "Dialog"
;3 Button 0x54032000 0x0 36 32 84 14 "change maindialog url"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
if ( ! ShowDialog ( dd & sub.DlgProc3 0 )) ret
#sub DlgProc3
why is this in your code?
mac "swfmenu" "" mfpax hDlg
remove it will cause another error. why would you try and launch the same dialog again?
hDlg is not a global variable .
sub WndProc_Subclass doesnt know what hDlg is.
You have made this same mistake a few times before. If you look in the the full code the answer is there not covering it again.Or look back in your previous posts.
You made the same mistake in function dia as well.
dia has no idea what the window handle of the main dialog is
from what i can see sub dia and function dia are not needed at all. Why make another dialog when the same thing is done easier with the other right click menu option.
another problem you will have once you get it working is once you change the url the right click menu will stop working as well. will need to call SetTimer again because the window is destroyed when you changed the url.
I will suggest again for you to learn what the code does before trying to use it differently .
Posts: 1,337
Threads: 61
Joined: Jul 2006
Function
swf_menu
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 change maindialog url
, MenuPopup x.AddItems ( s)
, int i= x.Show
, sel i
,, case 1
,, int - t_MhDlg
,, SHDocVw. WebBrowser we4
,, we4._getcontrol ( id ( 4 t_MhDlg))
,, str url= we4.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, we4.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, we4.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
Posts: 726
Threads: 99
Joined: Mar 2018
09-11-2018, 07:39 AM
(This post was last modified: 09-11-2018, 08:01 AM by win .)
Thank you for your help
Now use the right-click menu to switch to the new page correctly, but on the new page, the right-click menu is not available, I hope the right-click menu is always available.
I want to have multiple menu items in the right-click menu that can be switched to each other.
Can I change the web address in the main dialog through the buttons in the sub-dialog?
In the code now, the right-click menu has no sub-dialogs.
Just tested, the two URLs can switch between each other
How can I easily add multiple menu items and set their links?
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-11-2018, 07:41 PM
(This post was last modified: 09-11-2018, 07:53 PM by Kevin .)
Function
swf_menu2
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 Google
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "https://www.google.com" )
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
Just keep in mind
any url you add that will load flash will need to call SetTimer so the right click menu will work on the new page. If new url doesnt load flash you don't need to call SetTimer.
Posts: 726
Threads: 99
Joined: Mar 2018
09-11-2018, 09:51 PM
(This post was last modified: 09-11-2018, 10:47 PM by win .)
Thank you, very good.
I found the code for the second dialog in the code.
What is his role?
I added the hotkey F10 to the code to make the window full screen.
However, in actual use, there are often errors in not finding objects. I set the wait and still have errors.
How to use full screen code is more stable?
Macro
Macro1
Trigger
SF9
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, key F11
, 0.1
, scan "image:hAF522030" 0 0 1 | 2 | 16
, lef
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 Google
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "https://www.google.com" )
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
;BEGIN PROJECT
;main_function Macro1
;exe_file $my qm$\Macro1.exe
;icon <default>
;manifest $qm$\default.exe.manifest
;flags 6
;guid {4720E404-009B-439E-8B75-8947532A37AE}
;END PROJECT
Attached Files
Image(s)
Posts: 726
Threads: 99
Joined: Mar 2018
09-11-2018, 10:52 PM
(This post was last modified: 09-11-2018, 11:07 PM by win .)
image
prees alt+F6 import
It's a bit strange, the F10 hotkey doesn't work properly under another flash page.
Attached Files
Image(s)
Posts: 1,337
Threads: 61
Joined: Jul 2006
couldn't get your image to work so i made another and it works in both flash urls
i moved all the code to a sub function and change code to use wait instead if scan also had to move mouse cursor after clicking because if mouse isn't moved wont work second time
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, mac "sub.FlashFullscreen"
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 Google
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "https://www.google.com" )
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
wait 0 S "image:hDA7E4E62" w 0 1 | 16 | 0x400
lef
mou 0.5 0.5
here is the new image goodluck
Posts: 726
Threads: 99
Joined: Mar 2018
The second window often appears when the right-click menu cannot be popped up.
Posts: 1,337
Threads: 61
Joined: Jul 2006
Not sure i follow what you mean exactly. Everything was working on my pc.
Posts: 726
Threads: 99
Joined: Mar 2018
I need constant testing. Later, I will feedback the usage, thank you for your help.
If there is English in the picture, it cannot be used under the Chinese operating system because the characters on the button will change.
Posts: 1,337
Threads: 61
Joined: Jul 2006
try this
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, mac "sub.FlashFullscreen"
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 Google
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "https://www.google.com" )
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
scan "image:h2F7BFF9D" w 0 1 | 2 | 16
lef
mou 0.5 0.5
new image
Posts: 726
Threads: 99
Joined: Mar 2018
09-12-2018, 12:13 AM
(This post was last modified: 09-12-2018, 12:20 AM by win .)
I added swf 3 to the right-click menu. However, after switching to swf 3, the context menu cannot be popped up.
In actual use, I need to switch a lot of swf pages.
Macro
Macro2
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, mac "sub.FlashFullscreen"
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 swf 3
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
wait 0 S "image:hDA7E4E62" w 0 1 | 16 | 0x400
lef
mou 0.5 0.5
;BEGIN PROJECT
;main_function Macro2
;exe_file $my qm$\Macro2.exe
;icon <default>
;manifest $qm$\default.exe.manifest
;flags 6
;guid {7B7751DC-B224-44AF-9F51-4302F550E08F}
;END PROJECT
sel wParam
case 410
mac "sub.FlashFullscreen" ;;can I replace it directly with
sub.FlashFullscreen ?
case IDOK
case IDCANCEL
ret 1
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-12-2018, 12:21 AM
(This post was last modified: 09-12-2018, 12:29 AM by Kevin .)
i told you in earlier post
"Just keep in mind
any url you add that will load flash will need to call SetTimer so the right click menu will work on the new page. If new url doesnt load flash you don't need to call SetTimer."
change code for case 2 to this and make sure you recompile function
,, case 2
,, wb.Navigate( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, SetTimer t_MhDlg 1 100 0
full code
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, sub.FlashFullscreen
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 swf 3
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, SetTimer t_MhDlg 1 100 0
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
scan "image:h2F7BFF9D" w 0 1 | 2 | 16
lef
mou 0.5 0.5
key L ;; Left
Posts: 726
Threads: 99
Joined: Mar 2018
Thanks again for your reminder, about the second dialog, I deleted it, the code won't run, but I don't understand why I need to add it.
Posts: 1,337
Threads: 61
Joined: Jul 2006
Posts: 726
Threads: 99
Joined: Mar 2018
I added a new quick key alt+a but it doesn't work.
Macro
Macro3
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]411 Aa[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, sub.FlashFullscreen
, case 411
, sub.FlashFullscreen
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;2 swf 3
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, SetTimer t_MhDlg 1 100 0
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
scan "image:h2F7BFF9D" w 0 1 | 2 | 16
lef
mou 0.5 0.5
key L ;; Left
Attached Files
Image(s)
Posts: 1,337
Threads: 61
Joined: Jul 2006
that's not how you call the second dialog
Posts: 726
Threads: 99
Joined: Mar 2018
My original thoughts:
1. All web pages containing swf are all displayed in the main dialog
2. The second dialog contains buttons, click the button: switch page
3. The right-click menu and the second dialog are essentially the same, the operation is different.
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-12-2018, 01:56 AM
(This post was last modified: 09-12-2018, 02:01 AM by Kevin .)
the second dialog that you left in there is for a modal window remember you used it in other things
the right click menu switches pages just fine to open a url in the second dialog window do this
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, sub.FlashFullscreen
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;> swf 3
, ;,2 open swf 3 in Main
, ;,200 open swf 3 in New
, ;<
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, SetTimer t_MhDlg 1 100 0
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
,, case 200
,, sub.Dialog2 ( hwnd "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 3 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
;0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
scan "image:h2F7BFF9D" w 0 1 | 2 | 16
lef
mou 0.5 0.5
key L ;; Left
swf 3 can be open in main or a new window now
Posts: 726
Threads: 99
Joined: Mar 2018
09-12-2018, 02:33 AM
(This post was last modified: 09-12-2018, 02:36 AM by win .)
Yes, I also remembered, the second dialog is a child window.
Define the hotkey alt+a to execute the same command as F10, still not solved
I still have a problem. When I open a web page from a child window, only one status icon is displayed on the taskbar. It should be two.
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-12-2018, 02:54 AM
(This post was last modified: 09-12-2018, 03:13 AM by Kevin .)
that window won't show in taskbar
Alt+A wont work cause its used by Internet explorer
Posts: 726
Threads: 99
Joined: Mar 2018
09-12-2018, 03:14 AM
(This post was last modified: 09-12-2018, 03:25 AM by win .)
Some programming knowledge is not very understandable, such as timer
I use QM now, often using recording actions.
I just tried it, and Alt and any key combination can't execute the code properly.
For example: alt+1 alt+F1 alt+o alt+p ......
Posts: 1,337
Threads: 61
Joined: Jul 2006
09-12-2018, 03:26 AM
(This post was last modified: 09-12-2018, 03:27 AM by Kevin .)
posting this here cause some code seemed to have got mixed up everything in this works for all up to this point F10 is still the hotkey for fullscreen Flash
Function
swf_menu2
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 900 432 "Dialog"
;4 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040700 "*" "" "" ""
WebBrowserControlDisableIE7Emulation
str controls = "4"
str ax4SHD
ax4SHD= "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
if ( ! ShowDialog ( dd & sub.DlgProc & controls)) ret
#sub DlgProc
function # hDlg message wParam lParam
int - t_MhDlg
sel message
, case WM_INITDIALOG
, DT_SetAccelerators hDlg "410 F10[]412 F12"
, SetTimer hDlg 1 100 0
, SHDocVw. WebBrowser we4
, we4._getcontrol ( id ( 4 hDlg))
, we4._setevents ( "sub.we4" )
, t_MhDlg= hDlg
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 4 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 4 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, else
,,, ret
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
ret
;messages2
sel wParam
, case 410
, sub.FlashFullscreen
, case IDOK
, case IDCANCEL
ret 1
#sub WndProc_Subclass
function # hwnd message wParam lParam uIdSubclass dwRefData
;OutWinMsg message wParam lParam ;;uncomment to see received messages
sel message
, case WM_RBUTTONDOWN
, str s=
, ;1 Change Main dialog url
, ;> swf 3
, ;,2 open swf 3 in Main
, ;,200 open swf 3 in New
, ;<
, ;3 Yahoo
, ;4 Bing
, ;5 Quick Macros Forum
,
, MenuPopup x.AddItems ( s)
, int i= x.Show
, int - t_MhDlg
, SHDocVw. WebBrowser wb
, wb._getcontrol ( id ( 4 t_MhDlg))
, sel i
,, case 1
,, str url= wb.LocationURL
,, if url = "http://fs.focusky.com.cn/jhgh/tdzl/index.html"
,,, wb.Navigate ( "http://fs.focusky.com.cn/slgus/ybbt/index.html?flash" )
,, else
,,, wb.Navigate ( "http://fs.focusky.com.cn/jhgh/tdzl/index.html" )
,, SetTimer t_MhDlg 1 100 0
,, case 2
,, wb.Navigate ( "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
,, SetTimer t_MhDlg 1 100 0
,, case 3
,, wb.Navigate ( "https://www.yahoo.com" )
,, case 4
,, wb.Navigate ( "https://www.bing.com" )
,, case 5
,, wb.Navigate ( "http://www.quickmacros.com/forum" )
,, case 200
,, sub.Dialog2 ( hwnd "http://fs.focusky.com.cn/uxwbx/qbtq/index.html?flash" )
, ret
int R= DefSubclassProc ( hwnd message wParam lParam)
sel message
, case WM_NCDESTROY
, RemoveWindowSubclass ( hwnd & sub.WndProc_Subclass uIdSubclass)
,
, ;case ...
ret R
#sub we4_NewWindow3
function IDispatch & ppDisp @& Cancel dwFlags BSTR ' bstrUrlContext BSTR ' bstrUrl SHDocVw. IWebBrowser2 ' we3
int hDlg2= sub.Dialog2
SHDocVw. WebBrowser d2_we3._getcontrol ( id ( 3 hDlg2))
ppDisp= d2_we3
#sub Dialog2
function # [hwndOwner] [~ url]
str dd=
;BEGIN DIALOG
;0 "" 0x90CF0AC8 0x0 0 0 900 432 "Dialog2"
;3 ActiveX 0x54030000 0x0 0 0 900 432 "SHDocVw.WebBrowser {8856F961-340A-11D0-A96B-00C04FD705A2}"
;END DIALOG
;DIALOG EDITOR: "" 0x2040701 "*" "" "" ""
str controls = "3"
str ax3SHD
if ( ! empty ( url))
, ax3SHD= url
ret ShowDialog ( dd & sub.DlgProc2 & controls hwndOwner 1 ) ;;modeless dialog
#sub DlgProc2
function # hDlg message wParam lParam
int - t_hdlg
sel message
, case WM_INITDIALOG
, SHDocVw. WebBrowser we3
, we3._getcontrol ( id ( 3 hDlg))
, we3._setevents ( "sub.we3" )
, t_hdlg= hDlg
, DT_SetAutoSizeControls hDlg "3s"
, SetTimer hDlg 1 100 0
, case WM_TIMER
, sel wParam
,, case 1
,, int wies= child ( "" "Internet Explorer_Server" id ( 3 hDlg)); if ( wies= 0 ) ret
,, SetWindowSubclass ( wies & sub.WndProc_Subclass 2 0 )
,, int mfpax2 mfpax= child ( "" "MacromediaFlashPlayerActiveX" id ( 3 hDlg));
,, if ( mfpax!= 0 and mfpax2!= mfpax)
,,, SetWindowSubclass ( mfpax & sub.WndProc_Subclass 2 0 )
,,, mfpax2= mfpax
,, KillTimer hDlg wParam
, case WM_DESTROY
, case WM_COMMAND goto messages2
, case WM_CLOSE
, DT_Ok ( hDlg)
ret
;messages2
sel wParam
, case IDOK
, ifk ( Y)
,, key Y ;; Enter
,, ret 0
, case IDCANCEL
, ret 0
ret 1
#sub we3_WindowClosing
function @ IsChildWindow @& Cancel ;;SHDocVw.IWebBrowser2'we3
Cancel= 1
int - t_hdlg
clo t_hdlg
#sub FlashFullscreen
key F11
0.3
int w= win ( "" "ShockwaveFlashFullScreen" )
wait 0 S "image:h2F7BFF9D" w 0 1 | 2 | 16
lef
mou 0.5 0.5
key L ;; Left
Posts: 726
Threads: 99
Joined: Mar 2018
Open swf in the child window, F10 has no effect
Posts: 1,337
Threads: 61
Joined: Jul 2006
of course not wasn't programmed lol
Posts: 726
Threads: 99
Joined: Mar 2018
I copied the hotkey code in the main window to the child window and it will be fine.
Is there an easier way?