Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Generate exe files, unable to respond to trigger hotkey
#1
I wrote two macro, one is the installation of imindq code, set trigger hotkey for Ctrl+F10, another is imindq uninstall code, set trigger hotkey for Ctrl+F11, I put two macro to generate exe, run the EXE file on the other computer, hotkey is invalid, then I QM help file query to export exe files, will trigger failure! What method, can be two pieces of code written to a macro file, export EXE file, and can correct hotkey response? Just learning QM, not very proficient, thank you very much!

The two section of code is as follows:

Installation code:

Macro install
Code:
Copy      Help
#region Recorded 2016-12-28 20:14:44
run "$qm$\iMindQ_8_1_1_51836.exe"

int w2=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 43 11 id(2851 w2) 1 ;;push button 'Next >'
wait 0 -WV w2

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 21 10 id(2689 w3) 1 ;;radio button 'I accept the terms in the l...'
lef 45 10 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogNoCloseClass"))
lef 39 11 id(4172 w4) 1 ;;check box 'FreeMind (.mm) files'
lef 38 9 id(4175 w4) 1 ;;check box 'MindJet MindManager (.mmap)...'
lef 41 14 id(2851 w4) 1 ;;push button 'Next >'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2922 w5) 1 ;;push button 'Install'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2890 w7) 1 ;;push button 'Finish'
#endregion

Uninstall code:

Function uninstall
Code:
Copy      Help
#region Recorded 2016-12-28 20:13:55
run "$qm$\iMindQ_8_1_1_51836.exe"

int w=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 39 7 id(2851 w) 1 ;;push button 'Next >'
wait 0 -WV w

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 42 14 id(624 w3) 1 ;;radio button 'Remove'
lef 41 7 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 7 id(2974 w4) 1 ;;push button 'Remove'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® Installer Information" "MsiDialogNoCloseClass"))
lef 40 17 id(11 w5) 1 ;;push button 'Yes'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 36 14 id(2890 w7) 1 ;;push button 'Finish'

#endregion
#2
Exe don't have triggers.
One of workarounds - create shortcut to the exe on desktop or somewhere in Start menu. Assign a hotkey to the shortcut in its Properties dialog.
#3
I try in the above code, add the following code, the successful implementation of the response trigger, but do not know how to make the two code together respectively in response to trigger hotkey, hope in the later version: QM can achieve the EXE file response trigger hotkey, using AutoHotkey is easy to implement!

Macro Macro1
Code:
Copy      Help
int vk=wait(0 K CF11)

run "$qm$\iMindQ_8_1_1_51836.exe"
#4
Macro iMindQ install uninstall with hotkeys
Code:
Copy      Help
__RegisterHotKey hk1.Register(0 1 MOD_CONTROL VK_F10)
__RegisterHotKey hk2.Register(0 2 MOD_CONTROL VK_F11)
MSG m
rep
,if(GetMessage(&m 0 0 0)<1) break
,sel m.message
,,case WM_HOTKEY
,,sel m.wParam
,,,case 1
,,,mac "sub.install"
,,,
,,,case 2
,,,mac "sub.uninstall"
,,,
,DispatchMessage &m


#sub install
spe 100
#region Recorded 2016-12-28 20:14:44
run "$qm$\iMindQ_8_1_1_51836.exe"

int w2=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 43 11 id(2851 w2) 1 ;;push button 'Next >'
wait 0 -WV w2

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 21 10 id(2689 w3) 1 ;;radio button 'I accept the terms in the l...'
lef 45 10 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogNoCloseClass"))
lef 39 11 id(4172 w4) 1 ;;check box 'FreeMind (.mm) files'
lef 38 9 id(4175 w4) 1 ;;check box 'MindJet MindManager (.mmap)...'
lef 41 14 id(2851 w4) 1 ;;push button 'Next >'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2922 w5) 1 ;;push button 'Install'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2890 w7) 1 ;;push button 'Finish'
#endregion


#sub uninstall
spe 100
#region Recorded 2016-12-28 20:13:55
run "$qm$\iMindQ_8_1_1_51836.exe"

int w=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 39 7 id(2851 w) 1 ;;push button 'Next >'
wait 0 -WV w

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 42 14 id(624 w3) 1 ;;radio button 'Remove'
lef 41 7 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 7 id(2974 w4) 1 ;;push button 'Remove'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® Installer Information" "MsiDialogNoCloseClass"))
lef 40 17 id(11 w5) 1 ;;push button 'Yes'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 36 14 id(2890 w7) 1 ;;push button 'Finish'

#endregion

Here everything is in 1 exe. If need 3 exe, remove everything below the DispatchMessage line and replace mac "sub.install" etc with run "$qm$\iMindQ_8_1_1_51836.exe" etc.
#5
Thank you very much for your technical support ! Big Grin

generate exe file before,add a few lines of code above can be accessed to achieve the trigger function, respond to the trigger!

I hope the future QM version can automatically add the above code to generate exe file, which will Is very useful, or reference Autohotkey way to achieve!

Hope that QM continue to absorb some of the advantages of AHK, become more and more powerful!
#6
Recommended to use the above code to generate the exe file, run-time, in the lower right corner of the taskbar shows the status icon, click the icon, I can close or pause the program, otherwise the program will continue to run, can not see the state! Smile
#7
Add this at the beginning.

AddTrayIcon "$system$\shell32.dll,2" "iMindQ setup. Ctrl+click to exit."
#8
Thank you very much !now, the perfect realization of the automation of the software installation, I learned a lot of things

I hope come to the Forum's friends, you can refer to learn! QM really powerful! very attractive! you deserve to have Smile
#9
The above code, I can only understand a little, I thought of a simple way! to achieve the same function?

Vk (????) and vk1 (????) brackets in the content, I do not know how to write, can you help me achieve it? thank you very much! Smile

If the following code can be achieved, the code will be easy to understand

Macro Macro1
Trigger SF9     Help - how to add the trigger to the macro
Code:
Copy      Help
AddTrayIcon "$system$\shell32.dll,2" "iMindQ setup. Ctrl+click to exit."
int vk=wait(0 K F10)
int vk1=wait(0 K F11)

if vk(?????)
,mac "sub.install"

if vk1(????)
,mac "sub.uninstall"


#sub install
spe 100
#region Recorded 2016-12-28 20:14:44
;run "$qm$\iMindQ_8_1_1_51836.exe"
run "$desktop$\iMindQ_8_1_1_51836.exe"

int w2=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 43 11 id(2851 w2) 1 ;;push button 'Next >'
wait 0 -WV w2

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 21 10 id(2689 w3) 1 ;;radio button 'I accept the terms in the l...'
lef 45 10 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogNoCloseClass"))
lef 39 11 id(4172 w4) 1 ;;check box 'FreeMind (.mm) files'
lef 38 9 id(4175 w4) 1 ;;check box 'MindJet MindManager (.mmap)...'
lef 41 14 id(2851 w4) 1 ;;push button 'Next >'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2922 w5) 1 ;;push button 'Install'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2890 w7) 1 ;;push button 'Finish'
#endregion


#sub uninstall
spe 100
#region Recorded 2016-12-28 20:13:55
;run "$qm$\iMindQ_8_1_1_51836.exe"
run "$desktop$\iMindQ_8_1_1_51836.exe"

int w=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 39 7 id(2851 w) 1 ;;push button 'Next >'
wait 0 -WV w

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 42 14 id(624 w3) 1 ;;radio button 'Remove'
lef 41 7 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 7 id(2974 w4) 1 ;;push button 'Remove'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® Installer Information" "MsiDialogNoCloseClass"))
lef 40 17 id(11 w5) 1 ;;push button 'Yes'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 36 14 id(2890 w7) 1 ;;push button 'Finish'

#endregion
#10
With wait K not good.

This is another version, maybe will be easier to understand. At first create this member function.
Member function __RegisterHotKey.Register2
Code:
Copy      Help
function! hWnd hkId $qmKeyCode

;Converts QM <help>key</help> codes qmKeyCode to mod/vk and calls <help>Register</help>.

;EXAMPLE
;__RegisterHotKey hk1.Register2(0 1 "CF10") ;;Ctrl+F10


int i k vk mod
rep
,i=QmKeyCodeToVK(qmKeyCode k)
,if(i=0) break
,qmKeyCode+i
,sel k
,,case VK_CONTROL mod|MOD_CONTROL
,,case VK_SHIFT mod|MOD_SHIFT
,,case VK_MENU mod|MOD_ALT
,,case VK_LWIN mod|MOD_WIN
,,case else vk=k

if(vk=0) end "no key"
ret Register(hWnd hkId mod vk)

example
Macro Macro2766
Code:
Copy      Help
__RegisterHotKey hk1.Register2(0 1 "CF10") ;;Ctrl+F10
__RegisterHotKey hk2.Register2(0 2 "CF11")
MSG m
rep
,if(GetMessage(&m 0 0 0)<1) break
,if(m.message!=WM_HOTKEY) continue
,
,;edit this code if need. The numbers must match the numbers passed to Register2.
,sel m.wParam
,,case 1
,,sub.install ;;or can be: mac "sub.install"
,,
,,case 2
,,sub.uninstall ;;or can be: mac "sub.uninstall"


#sub install
out 1


#sub uninstall
out 2
#11
The above syntax, I found in the use of WinAutomation software, the following is a video demo link! I feel QM should also be able to achieve, but because I am not very good programming code, I hope QM can learn the advantages of WinAutomation software, become more powerful! thank you very much! Smile

https://youtu.be/AQp3dA66xxE
#12
Gintaras Wrote:With wait K not good.

This is another version, maybe will be easier to understand. At first create this member function.
Member function __RegisterHotKey.Register2
Code:
Copy      Help
function! hWnd hkId $qmKeyCode

;Converts QM <help>key</help> codes qmKeyCode to mod/vk and calls <help>Register</help>.

;EXAMPLE
;__RegisterHotKey hk1.Register2(0 1 "CF10") ;;Ctrl+F10


int i k vk mod
rep
,i=QmKeyCodeToVK(qmKeyCode k)
,if(i=0) break
,qmKeyCode+i
,sel k
,,case VK_CONTROL mod|MOD_CONTROL
,,case VK_SHIFT mod|MOD_SHIFT
,,case VK_MENU mod|MOD_ALT
,,case VK_LWIN mod|MOD_WIN
,,case else vk=k

if(vk=0) end "no key"
ret Register(hWnd hkId mod vk)

example
Macro Macro2766
Code:
Copy      Help
__RegisterHotKey hk1.Register2(0 1 "CF10") ;;Ctrl+F10
__RegisterHotKey hk2.Register2(0 2 "CF11")
MSG m
rep
,if(GetMessage(&m 0 0 0)<1) break
,if(m.message!=WM_HOTKEY) continue
,
,;edit this code if need. The numbers must match the numbers passed to Register2.
,sel m.wParam
,,case 1
,,sub.install ;;or can be: mac "sub.install"
,,
,,case 2
,,sub.uninstall ;;or can be: mac "sub.uninstall"


#sub install
out 1


#sub uninstall
out 2

In QM,

Ctrl + F10 can return to the numerical? For example, return 1

Ctrl + F11 can return to the numerical? For example, return 2

If can return to the value, I can return to the value of the corresponding code!

My programming ability is not good, so I can only understand the syntax of Winautomation

Winautomation Software, a hotkey, may be assigned a value, the following picture


Attached Files Image(s)
   
#13
Quote:Ctrl + F10 can return to the numerical? For example, return 1

Cannot return directly. Need to call Register2 and then use case 1, case 2 etc.
#14
Gintaras Wrote:
Quote:Ctrl + F10 can return to the numerical? For example, return 1

Cannot return directly. Need to call Register2 and then use case 1, case 2 etc.


I tried, QM can output values, the following pictures, can use the method to achieve the above function? Tongue


Attached Files Image(s)
   
#15
Can use, but I don't recommend. It is less efficient, less reliable. Would need a loop anyway. Does not support modifier keys; problems with key "eating"; etc.

rep
,int vk=wait(0 K)
,sel k
,,case VK_F10
,,...
#16
The following code does not respond, do not know where is the problem :oops:


Attached Files Image(s)
   
#17
Now with the following code, I can successfully run, do not know what shortcoming :oops:


Macro Macro3
Code:
Copy      Help
rep
,int vk=wait(0 K)
,sel vk
,,case VK_F10
,,mac "sub.install"
,,case VK_F11
,,mac "sub.uninstall"
#18
Gintaras Wrote:Can use, but I don't recommend. It is less efficient, less reliable. Would need a loop anyway. Does not support modifier keys; problems with key "eating"; etc.

rep
,int vk=wait(0 K)
,sel k
,,case VK_F10
,,...

Does not support modifier keys? I tried Ctrl + F10 return value is 17


Attached Files Image(s)
   
#19
Yes, but it happens when the modifier key is released, therefore you cannot detect Ctrl+F10. With wait 0 KF also problems.
#20
Gintaras Wrote:Yes, but it happens when the modifier key is released, therefore you cannot detect Ctrl+F10. With wait 0 KF also problems.

I understand, 17 is the value of Ctrl, it seems that only use your method, thanks a lot
#21
I use QM to try a lot of software installation process recording, found in each window before, add a window to destroy the code, I will be able to get the perfect! (Below picture)

Hope in the new version QM can automatically identify this problem, automatically add a window to destroy the code,

In the new version is not released, is there any way to quickly add it? I feel a little trouble of manually add,thank you very much


Attached Files Image(s)
   
#22
Will not add until new major version.
#23
Well, I will always look forward Smile
#24
See the following code:When the (mac "sub.install") code is run, when I press Ctrl + F10,the code (mac "sub.uninstall") run , but did not respond, where a problem?

Macro Macro3
Code:
Copy      Help
mac "sub.install"

int vk=wait(0 K CF10)

mac "sub.uninstall"

#sub install
spe 100
#region Recorded 2016-12-28 20:14:44
run "$qm$\iMindQ_8_1_1_51836.exe"

int w2=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 43 11 id(2851 w2) 1 ;;push button 'Next >'
wait 0 -WV w2

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 21 10 id(2689 w3) 1 ;;radio button 'I accept the terms in the l...'
lef 45 10 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogNoCloseClass"))
lef 39 11 id(4172 w4) 1 ;;check box 'FreeMind (.mm) files'
lef 38 9 id(4175 w4) 1 ;;check box 'MindJet MindManager (.mmap)...'
lef 41 14 id(2851 w4) 1 ;;push button 'Next >'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2922 w5) 1 ;;push button 'Install'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2890 w7) 1 ;;push button 'Finish'
#endregion


#sub uninstall
spe 100
#region Recorded 2016-12-28 20:13:55
run "$qm$\iMindQ_8_1_1_51836.exe"

int w=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 39 7 id(2851 w) 1 ;;push button 'Next >'
wait 0 -WV w

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 42 14 id(624 w3) 1 ;;radio button 'Remove'
lef 41 7 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 7 id(2974 w4) 1 ;;push button 'Remove'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® Installer Information" "MsiDialogNoCloseClass"))
lef 40 17 id(11 w5) 1 ;;push button 'Yes'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 36 14 id(2890 w7) 1 ;;push button 'Finish'

#endregion
#25
Your macro is created so that it seems that you want to run sub.install and sub.uninstall simultaneously. Replace mac "sub.install" with sub.install, and mac "sub.uninstall" with sub.uninstall, and wait(0 K CF10) with wait(0 K F10).
#26
I tried, as if only to respond to F1-F12 but can not respond to key combinations: For example: Ctcrl + F10, or to achieve some trouble, I hope the future can be simple to achieve Tongue
#27
Autohotkey set up hotkey trigger, very convenient, and has been in force, I would like add AHK trigger to QM code, calling QM sub, how to achieve? I made the following settings, but debugging, there was an error, I hope someone can guide me, any comments and suggestions are welcome, and very grateful :oops:


Attached Files Image(s)
   
#28
I don't know, you can ask in AHK forums: How to call host's callback functions from AHK script when using function ahktextdll of the AHK COM component? Maybe can use COM events for it.
#29
I mean: The following three files written to a code QM document,And finally generate exe file, and auhotkey.dll file to find packages together, copy to another computer:

1.AHK response hotkey code is relatively simple(In QM, the definition of the trigger hotkey code, more difficult to understand)

2.QM recording installation code is relatively simple(In the AHK, there is no recording feature, code handwriting more difficult)

3.QM recording uninstallation code is relatively simple(In the AHK, there is no recording feature, code handwriting more difficult)

QM can call the AHK dll file, so: I want the following three files of the code, write to a QM, the generated exe file, in other computers also successfully run

can I achieve?
————————————————————————————————————
1.The first file: trigger hotkey.ahk
Code:

^ F10 ::
Run, install.exe

^ F11::
Run, uninstall.exe
————————————————————————————
2.The second file: install.exe (QM build)
Code:

Macro Macro3
Code:
Copy      Help
#region Recorded 2016-12-28 20:14:44
run "$qm$\iMindQ_8_1_1_51836.exe"

int w2=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 43 11 id(2851 w2) 1 ;;push button 'Next >'
wait 0 -WV w2

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 21 10 id(2689 w3) 1 ;;radio button 'I accept the terms in the l...'
lef 45 10 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogNoCloseClass"))
lef 39 11 id(4172 w4) 1 ;;check box 'FreeMind (.mm) files'
lef 38 9 id(4175 w4) 1 ;;check box 'MindJet MindManager (.mmap)...'
lef 41 14 id(2851 w4) 1 ;;push button 'Next >'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2922 w5) 1 ;;push button 'Install'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 14 id(2890 w7) 1 ;;push button 'Finish'
#endregion

————————————————————————————
3.The third file: uninstall.exe (QM build)
Code:

Macro Macro3
Code:
Copy      Help
#region Recorded 2016-12-28 20:13:55
run "$qm$\iMindQ_8_1_1_51836.exe"

int w=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 39 7 id(2851 w) 1 ;;push button 'Next >'
wait 0 -WV w

int w3=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 42 14 id(624 w3) 1 ;;radio button 'Remove'
lef 41 7 id(2851 w3) 1 ;;push button 'Next >'
wait 0 -WV w3

int w4=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 41 7 id(2974 w4) 1 ;;push button 'Remove'
wait 0 -WV w4

int w5=wait(0 WA win("iMindQ® Installer Information" "MsiDialogNoCloseClass"))
lef 40 17 id(11 w5) 1 ;;push button 'Yes'
wait 0 -WV w5

int w6=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
wait 0 -WV w6

int w7=wait(0 WA win("iMindQ® - InstallShield Wizard" "MsiDialogCloseClass"))
lef 36 14 id(2890 w7) 1 ;;push button 'Finish'

#endregion
#30
In the following code, I can not end by pressing SHIFT + F12 :oops:

Macro Macro4
Code:
Copy      Help
__RegisterHotKey hk1.Register(0 1 MOD_CONTROL VK_F10)
__RegisterHotKey hk2.Register(0 2 MOD_CONTROL VK_F11)
__RegisterHotKey hk3.Register(0 3 MOD_SHIFT VK_F12)
MSG m
rep
,if(GetMessage(&m 0 0 0)<1) break
,sel m.message
,,case WM_HOTKEY
,,sel m.wParam
,,,case 1
,,,mac "sub.no1"
,,,
,,,case 2
,,,mac "sub.no2"
,,,
,,,case 3
,,,ret
,,,
,DispatchMessage &m

#sub no1
mes "NO1"

#sub no2
mes "NO2"


Forum Jump:


Users browsing this thread: 2 Guest(s)