Driving the PC master sound volume
this code makes some works around the system master sound volume.it runs on the systray (traybar).
its known that the old XP winAPI waveOutGetVolume and WaveOutSetVolume to get/set the master audio volume dont work for OS vista and above.
Actually ,each device on PC have its independant control of volume.
VFP9 have no solution actually to dig into modern interfaces as coreAudio APIs.I dont found any COM dll to embed it into the vfp object browser.
i found for that goal a small DOS utility as exe (32ko) to get the master audio volume in this link: https://sourceforge.net/projects/mplayer-edl/files/adjust_get_current_system_volume_vista_plus.exe/download
(and can also set it-here i used only the get volume).
the code below can :
-get the current master volume of the system.(its the main difficulty)
-increase/decrease/mute/unMute the master volume sound.(see the contextuel systray menu).mute/unMute uses the same code alternativelly(as switch).
to adjust the volume mouseWheel on the green area and you see the value (increase or decrease).
-fire the system sndvol.exe (in 32 bits it was old sndvol32.exe.no longer actually).can use arrow/up,down or pgup,down to move the sliders (even with shell.sendkeys or keybd api).
*the code re creates the yget_set_sound.exe pointed above and erases it when release app.
*it creates also the systray icon with a contexuel menu.
*systray class must also in source folder (set path dont work correctly !).the code copy the systray.vcx/vct here for a prg use.( can copy them manually to source folder).
(its needed only when using a prg file (for exe its compiled inside).
of course the goal is to compile an utility under hand to drive the master sound volume for any PC.
*Note : the code shows also how to embed a big litteral string ( as a converted exe) inside text /endtext (this is new trick cutting the vfp limitation to 8192 octets on a litteral string (thanks to Marco plaza help.with this can go to 16.7 Mo and more inside text/endtext with clause "pretext 1+2+4+8").i give nextly a code below to achieve/demonstrate this (in another post).
*the code also shows how to return value from any DOS executable to vfp.
[Post 268]
Click on code to select [then copy] -click outside to deselect
*1* created on 31 of march 2018
*run the code and read the summary help.
If ! _vfp.StartMode=0
On Shutdown Quit
Endi
clear all
set safe off
set talk off
_screen.windowstate=1
local m.yrep
m.yrep=Justpath(Sys(16,1))
Set Defa To addbs(m.yrep)
if _vfp.startmode=0 and !file("systray.vcx") and ! file("systray.vct")
try
copy file (home(1)+"samples\solution\toledo\systray.vcx") to (m.yrep)
copy file (home(1)+"samples\solution\toledo\systray.vct") to (m.yrep)
catch
messagebox("Copy systray.vcx/vct failed (class in use)- can copy them manaually.",16+4096,'',1300)
endtry
inke(2)
endi
=yicon()
=ybigstr()
inke(2)
if !file("yget_set_sound.exe")
messagebox("yget_set_sound.exe not created...canceling!",16+4096,1300)
return .f.
endi
do ydeclare
Publi oSystray
oSystray = Createobject("oSystray")
*#define NIIF_NOSOUND 0x00000010 && Windows XP and later.
m.oSystray.ShowBalloonTip('System Volume functions',"yVolSound",0,2) && shellversion>=5
Read Events
Define Class oSystray As Systray Of "Systray.VCX"
IconFile ="ySound.ico" &&home(1)+"GRAPHICS\ICONS\MISC\VOLUME01.ICO"
TipText = "Adjust Volume"
MenuText = "1;Adjust Volume;2;Mute;3;UnMute;4;SndVol;5;Current volume;6;Help;7;Exit"
procedure iconclickEvent
local m.myvar
text to m.myvar noshow
yget_set_sound.exe >asup.txt
endtext
strtofile(m.myvar,"ybat.bat")
try
result = ShellExecute(0, "open", "ybat.bat","","",0)
inke(0.2)
local m.response
m.response=filetostr("asup.txt")
if !empty(m.response)
this.tipText="Current volume:"+m.response +" %"
messagebox( "Current volume= "+m.response+"%" ,0+32+4096,1300)
endi
erase ybat.bat
erase asup.txt
catch
endtry
endproc
Procedure ProcessMenuEvent
Lparameters nMenuItemID
Do Case
Case nMenuItemID = 0
* User cleared the menu. Do nothing.
case nMenuItemID=1
PUBLIC oform
oform=NEWOBJECT("yvolSound")
with oform as form
.top=sysmetric(2)-.height-34
* .left=
endwith
oform.Show
Case nMenuItemID=2
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_MUTE)
Case nMenuItemID=3
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_DOWN)
Case nMenuItemId=4
try
run/n sndvol
catch
messagebox("sndvol.exe not found!",16+4096)
endtry
case nMenuItemId=5
local m.myvar
text to m.myvar noshow
yget_set_sound.exe >asup.txt
endtext
strtofile(m.myvar,"ybat.bat")
try
result = ShellExecute(0, "open", "ybat.bat","","",0)
inke(0.5)
local response
m.response=filetostr("asup.txt")
if !empty(m.response)
messagebox( "Current volume= "+m.response+"%" ,0+32+4096,1300)
endi
erase ybat.bat
erase asup.txt
catch
endtry
Case nMenuItemId=6
yhelp()
Case nMenuItemID=7
This.RemoveIconFromSystray()
this.ClearIconList()
osystray=null
release osystray
erase asup.txt
erase ysound.ico
erase yget_set_sound.exe
Clear Events
Endcase
Endproc
Enddefine
PROCEDURE ydeclare
DECLARE INTEGER ReleaseCapture IN WIN32API
DECLARE INTEGER SendMessage IN WIN32API INTEGER, INTEGER, INTEGER, INTEGER
Declare Integer SendMessage In user32;
INTEGER HWnd,;
INTEGER Msg,;
INTEGER wParam,;
INTEGER Lparam
DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER nWinHandle,;
STRING cOperation,;
STRING cFileName,;
STRING cParameters,;
STRING cDirectory,;
INTEGER nShowWindow
ENDPROC
*!*
DEFINE CLASS yvolsound AS form
BorderStyle = 0
Top = 638
Left = 1217
Height = 60
Width = 130
ShowWindow = 2
Caption = ""
ControlBox = .F.
MaxButton = .F.
MinButton = .T.
AlwaysOnTop = .T.
BackColor = RGB(144,238,144)
showtips=.t.
Name = "Form1"
ADD OBJECT label1 AS label WITH ;
AutoSize = .F., ;
FontBold = .T., ;
FontSize = 32, ;
Alignment = 2, ;
BackStyle = 0, ;
Caption = "", ;
Height = 59, ;
Left = 2, ;
Top = 1, ;
Width = 114, ;
ForeColor = RGB(255,0,0), ;
tooltiptext="Mousewheel to adjust vol",;
Name = "Label1"
Add Object shp as shape with ;
left=117,;
width=12,;
height=12,;
top=27,;
curvature=99,;
backcolor=rgb(128,0,64),;
tooltiptext="mute/unMute" ,;
mousepointer=15,;
name="shp"
ADD OBJECT label2 AS label WITH ;
AutoSize = .T., ;
FontBold = .T., ;
FontSize = 11, ;
BackStyle = 0, ;
BorderStyle = 0, ;
Caption = "X", ;
Height = 20, ;
Left = 119, ;
MousePointer = 15, ;
Top = 0, ;
Width = 12, ;
ForeColor = RGB(255,0,0), ;
Name = "Label2"
PROCEDURE getvol
local m.myvar
text to m.myvar noshow
yget_set_sound.exe >asup.txt
endtext
strtofile(m.myvar,"ybat.bat")
try
result = ShellExecute(0, "open", "ybat.bat","","",0)
inke(0.2)
local m.response
m.response=filetostr("asup.txt")
if !empty(m.response)
thisform.label1.caption=m.response
endi
erase ybat.bat
erase asup.txt
catch
endtry
ENDPROC
PROCEDURE Activate
thisform.getvol()
ENDPROC
PROCEDURE Init
sys(2002)
Thisform.TitleBar=0
This.Width=60
set defa to addbs(justpath(sys(16,1)))
set safe off
ENDPROC
PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
if nkeycode=27
thisform.release
endi
ENDPROC
PROCEDURE Destroy
ospeak=null
release ospeak
sys(2002,1)
ENDPROC
PROCEDURE label1.DblClick
thisform.release
ENDPROC
PROCEDURE label1.MouseWheel
LPARAMETERS nDirection, nShift, nXCoord, nYCoord
#Define APPCOMMAND_VOLUME_MUTE 0x80000
#Define APPCOMMAND_VOLUME_UP 0xA0000
#Define APPCOMMAND_VOLUME_DOWN 0x90000
#Define WM_APPCOMMAND 0x319
do case
case ndirection<0
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_UP)
case ndirection>0
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_DOWN)
endcase
thisform.getvol()
ENDPROC
PROCEDURE label1.MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
lnHandle = THISFORM.HWND &&getFocus()
param1 = 274
param2 = 0xF012
thisform.mousepointer=15
bb=ReleaseCapture()
bb=SendMessage(lnHandle, param1, param2,0)
thisform.mousepointer=0
ENDPROC
Procedure mousewheel
LPARAMETERS nDirection, nShift, nXCoord, nYCoord
thisform.label1.mousewheel(nDirection)
endproc
PROCEDURE label2.Click
thisform.release
ENDPROC
procedure shp.click
#Define APPCOMMAND_VOLUME_MUTE 0x80000
SendMessage(_vfp.HWnd, WM_APPCOMMAND, _vfp.HWnd, APPCOMMAND_VOLUME_MUTE)
endproc
ENDDEFINE
*
*-- EndDefine: yvolSound
function yhelp()
local m.myvar
text to m.myvar noshow
this code makes some works around the system master sound volume.it runs on the systray (traybar).
its known that the old winAPI waveOutGetVolume and WaveOutSetVolume to get/set the master audio volume dont work for OS vista and above.
Actually ,each device on PC have its independant control of volume
VFP9 have no solution actually to dig into modern interfaces as coreAudio APIs.
i found for that goal a small DOS utility as exe (32ko) to get the master audio volume in this link: https://sourceforge.net/projects/mplayer-edl/files/adjust_get_current_system_volume_vista_plus.exe/download
(and can also set it).
the code below can :
-get the current master volume of the system.
-increase/decrease/mute/unMute the master volume sound.(see the contextuel systray menu).
to adjust the volume mouseWheel on the green area and you see the value (increase or decrease).
-fire the system sndvol.exe (in 32 bits it was old sndvol32.exe.no longer actually).can use arrow/up,down or pgup,down to move the sliders (even with shell.sendkeys or keybd api).
*the code re creates the yget_set_sound.exe pointed above and erases it when release app.
*it creates also the systray icon with a contexuel menu.
*systray class must also in source folder (set path dont work correctly !).the code copy the systray.vcx/vct here for a prg use. if fails copy them manually to source folder.
(its needed only when using a prg file (for exe its compiled inside).
of course the goal is to compile an utility under hand to drive the master soun volume for any PC.
endtext
local oshell
oshell = Createobject('WScript.Shell')
oshell.Popup(m.myvar,0, 'Summary help', 0+32+4096)
oshell=Null
endfunc
function ybigstr()
local file, filebin
m.file=[yget_set_sound.exe]
if file(m.file)
return m.file
endif
*- file yget_set_sound.exe 32ko is stored here a&s a big string inside text/endtext with a special trick avoiding vfp capacity limit.
text to m.filebin noshow pretext 1+2+4+8
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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBgAAAAAAAAAAAAADBkAAD8YAAAkGAAAAAAAAAAAAAAmGQAADxhAADsYAAAAAAAAAAAAACwZAAAmGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqGEAAMBhAADYYQAA5mEAAPRhAAAEYgAAGGIAACpiAAA6YgAAVmIAAG5iAAB+YgAAnGIAAKpiAAC8YgAAAAAAAMxiAADcYgAA7GIAAPpiAAAMYwAAFmMAAB5jAAAoYwAANGMAAEBjAABIYwAAUmMAAFpjAABkYwAAbGMAAHZjAACAYwAAimMAAJRjAACcYwAApmMAALBjAAAAAAAAvGMAANBjAADgYwAAAAAAAKhhAADAYQAA2GEAAOZhAAD0YQAABGIAABhiAAAqYgAAOmIAAFZiAABuYgAAfmIAAJxiAACqYgAAvGIAAAAAAADMYgAA3GIAAOxiAAD6YgAA
DGMAABZjAAAeYwAAKGMAADRjAABAYwAASGMAAFJjAABaYwAAZGMAAGxjAAB2YwAAgGMAAIpjAACUYwAAnGMAAKZjAACwYwAAAAAAALxjAADQYwAA4GMAAAAAAADPAERlbGV0ZUNyaXRpY2FsU2VjdGlvbgDsAEVudGVyQ3JpdGljYWxTZWN0aW9uAAAXAUV4aXRQcm9jZXNzAGABRnJlZUxpYnJhcnkA/gFHZXRMYXN0RXJyb3IAABECR2V0TW9kdWxlSGFuZGxlQQAAQQJHZXRQcm9jQWRkcmVzcwAAnwJHZXRWZXJzaW9uRXhBAN4CSW5pdGlhbGl6ZUNyaXRpY2FsU2VjdGlvbgAuA0xlYXZlQ3JpdGljYWxTZWN0aW9uAAAxA0xvYWRMaWJyYXJ5QQAAdARTZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIAlQRUbHNHZXRWYWx1ZQC9BFZpcnR1YWxQcm90ZWN0AAC/BFZpcnR1YWxRdWVyeQAANwBfX2dldG1haW5hcmdzAE0AX19wX19lbnZpcm9uAABPAF9fcF9fZm1vZGUAAGMAX19zZXRfYXBwX3R5cGUAAJMAX2NleGl0AAAKAV9pb2IAAH8BX29uZXhpdACqAV9zZXRtb2RlAAAaAl93aW5tYWpvcgBHAmFib3J0AE4CYXRleGl0AABPAmF0b2YAAFMCY2FsbG9jAABxAmZyZWUAAHkCZndyaXRlAACqAm1lbWNweQAArAJtZW1zZXQAALECcHJpbnRmAAC0AnB1dHMAAMICc2lnbmFsAADLAnN0cmNtcAAA7AJ2ZnByaW50ZgAADABDb0NyZWF0ZUluc3RhbmNlAAAlAENvSW5pdGlhbGl6ZQAASABDb1VuaW5pdGlhbGl6ZQAAAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAABLRVJORUwzMi5kbGwAAAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAABRgAAAUYAAAFGAAAG1zdmNydC5kbGwAAChgAAAoYAAAKGAAAE9MRTMyLmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAF0AAABdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYBAAByAQAAIUEAABHBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAAgAAAAAAgQwAAEYMAABfX0NUT1JfTElTVF9fAGMMAABfX0RUT1JfTElTVF9fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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Q0hfUFJFRElDVElPTl9ISU5UUwAFCFg4Nl9UVU5FX0RPVUJMRV9XSVRIX0FERAAGCFg4Nl9UVU5FX1VTRV9TQUhGAAcIWDg2X1RVTkVfTU9WWAAICFg4Nl9UVU5FX1BBUlRJQUxfUkVHX1NUQUxMAAkIWDg2X1RVTkVfUEFSVElBTF9GTEFHX1JFR19TVEFMTAAKCFg4Nl9UVU5FX1VTRV9ISU1PREVfRklPUAALCFg4Nl9UVU5FX1VTRV9TSU1PREVfRklPUAAMCFg4Nl9UVU5FX1VTRV9NT1YwAA0IWDg2X1RVTkVfVVNFX0NMVEQADghYODZfVFVORV9VU0VfWENIR0IADwhYODZfVFVORV9TUExJVF9MT05HX01PVkVTABAIWDg2X1RVTkVfUkVBRF9NT0RJRllfV1JJVEUAEQhYODZfVFVORV9SRUFEX01PRElGWQASCFg4Nl9UVU5FX1BST01PVEVfUUlNT0RFABMIWDg2X1RVTkVfRkFTVF9QUkVGSVgAFAhYODZfVFVORV9TSU5HTEVfU1RSSU5HT1AAFQhYODZfVFVORV9RSU1PREVfTUFUSAAWCFg4Nl9UVU5FX0hJTU9ERV9NQVRIABcIWDg2X1RVTkVfUFJPTU9URV9RSV9SRUdTABgIWDg2X1RVTkVfUFJPTU9URV9ISV9SRUdTABkIWDg2X1RVTkVfQUREX0VTUF80ABoIWDg2X1RVTkVfQUREX0VTUF84ABsIWDg2X1RVTkVfU1VCX0VTUF80ABwIWDg2X1RVTkVfU1VCX0VTUF84
AB0IWDg2X1RVTkVfSU5URUdFUl9ERk1PREVfTU9WRVMAHghYODZfVFVORV9QQVJUSUFMX1JFR19ERVBFTkRFTkNZAB8IWDg2X1RVTkVfU1NFX1BBUlRJQUxfUkVHX0RFUEVOREVOQ1kAIAhYODZfVFVORV9TU0VfVU5BTElHTkVEX01PVkVfT1BUSU1BTAAhCFg4Nl9UVU5FX1NTRV9TUExJVF9SRUdTACIIWDg2X1RVTkVfU1NFX1RZUEVMRVNTX1NUT1JFUwAjCFg4Nl9UVU5FX1NTRV9MT0FEMF9CWV9QWE9SACQIWDg2X1RVTkVfTUVNT1JZX01JU01BVENIX1NUQUxMACUIWDg2X1RVTkVfUFJPTE9HVUVfVVNJTkdfTU9WRQAmCFg4Nl9UVU5FX0VQSUxPR1VFX1VTSU5HX01PVkUAJwhYODZfVFVORV9TSElGVDEAKAhYODZfVFVORV9VU0VfRkZSRUVQACkIWDg2X1RVTkVfSU5URVJfVU5JVF9NT1ZFUwAqCFg4Nl9UVU5FX0lOVEVSX1VOSVRfQ09OVkVSU0lPTlMAKwhYODZfVFVORV9GT1VSX0pVTVBfTElNSVQALAhYODZfVFVORV9TQ0hFRFVMRQAtCFg4Nl9UVU5FX1VTRV9CVAAuCFg4Nl9UVU5FX1VTRV9JTkNERUMALwhYODZfVFVORV9QQURfUkVUVVJOUwAwCFg4Nl9UVU5FX0VYVF84MDM4N19DT05TVEFOVFMAMQhYODZfVFVORV9TSE9SVEVOX1g4N19TU0UAMghYODZfVFVORV9BVk9JRF9WRUNUT1JfREVDT0RFADMIWDg2X1RVTkVfUFJPTU9URV9ISU1PREVfSU1VTAA0CFg4Nl9UVU5FX1NMT1dfSU1VTF9JTU0zMl9NRU0ANQhYODZfVFVORV9TTE9XX0lNVUxfSU1NOAA2CFg4Nl9UVU5FX01PVkVfTTFfVklBX09SADcIWDg2X1RVTkVfTk9UX1VOUEFJUkFCTEUAOAhYODZfVFVORV9OT1RfVkVDVE9STU9ERQA5CFg4Nl9UVU5FX1VTRV9WRUNUT1JfRlBfQ09OVkVSVFMAOghYODZfVFVORV9VU0VfVkVDVE9SX0NPTlZFUlRTADsIWDg2X1RVTkVfRlVTRV9DTVBfQU5EX0JSQU5DSAA8CFg4Nl9UVU5FX09QVF9BR1UAPQhYODZfVFVORV9MQVNUAD4ACWl4ODZfYXJjaF9pbmRpY2VzAAQCjwECCQAACFg4Nl9BUkNIX0NNT1ZFAAAIWDg2X0FSQ0hfQ01QWENIRwABCFg4Nl9BUkNIX0NNUFhDSEc4QgACCFg4Nl9BUkNIX1hBREQAAwhYODZfQVJDSF9CU1dBUAAECFg4Nl9BUkNIX0xBU1QABQACBARmbG9hdAACCARkb3VibGUAB1ZBUkVOVU0ABANzkQsAAAhWVF9FTVBUWQAACFZUX05VTEwAAQhWVF9JMgACCFZUX0k0AAMIVlRfUjQABAhWVF9SOAAFCFZUX0NZAAYIVlRfREFURQAHCFZUX0JTVFIACAhWVF9ESVNQQVRDSAAJCFZUX0VSUk9SAAoIVlRfQk9PTAALCFZUX1ZBUklBTlQADAhWVF9VTktOT1dOAA0IVlRfREVDSU1BTAAOCFZUX0kxABAIVlRfVUkxABEIVlRfVUkyABIIVlRfVUk0ABMIVlRfSTgAFAhWVF9VSTgAFQhWVF9JTlQAFghWVF9VSU5UABcIVlRfVk9JRAAYCFZUX0hSRVNVTFQAGQhWVF9QVFIAGghWVF9TQUZFQVJSQVkAGwhWVF9DQVJSQVkAHAhWVF9VU0VSREVGSU5FRAAdCFZUX0xQU1RSAB4IVlRfTFBXU1RSAB8IVlRfUkVDT1JEACQIVlRfSU5UX1BUUgAlCFZUX1VJTlRfUFRSACYIVlRfRklMRVRJTUUAwAAIVlRfQkxPQgDBAAhWVF9TVFJFQU0AwgAIVlRf
U1RPUkFHRQDDAAhWVF9TVFJFQU1FRF9PQkpFQ1QAxAAIVlRfU1RPUkVEX09CSkVDVADFAAhWVF9CTE9CX09CSkVDVADGAAhWVF9DRgDHAAhWVF9DTFNJRADIAAhWVF9CU1RSX0JMT0IA/x8IVlRfVkVDVE9SAIAgCFZUX0FSUkFZAIDAAAhWVF9CWVJFRgCAgAEIVlRfUkVTRVJWRUQAgIACCFZUX0lMTEVHQUwA//8DCFZUX0lMTEVHQUxNQVNLRUQA/x8IVlRfVFlQRU1BU0sA/x8AAggDY29tcGxleCBmbG9hdAACEANjb21wbGV4IGRvdWJsZQACDARsb25nIGRvdWJsZQACGANjb21wbGV4IGxvbmcgZG91YmxlAAIQBF9fZmxvYXQxMjgAAiADX191bmtub3duX18ABmZ1bmNfcHRyAAQrBwwAAAUEDQwAAAoBC1QBAAAaDAAADAANX2lvYgABmg8MAAABAQ1faW9iAAGaDwwAAAEBC/cLAABGDAAADokAAAABAA9fX0NUT1JfTElTVF9fAAWsCDYMAAABBQM4IUAAD19fRFRPUl9MSVNUX18ABa0INgwAAAEFA0QhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEQElCBMLAwgbCBEBEgEQBgAAAiQACws+CwMIAAADEwEDCAsLOgs7CwETAAAEDQADCDoLOwtJEzgKAAAFDwAL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LnRleHQAAAAAEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdUBAAABQAAAAMALmlkYXRhJDVQAQAABQAAAAMALmlkYXRhJDSkAAAABQAAAAMALmlkYXRhJDYWAwAABQAAAAMALnRleHQAAAAAEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdABAAABQAAAAMALmlkYXRhJDU8AQAABQAAAAMALmlkYXRhJDSQAAAABQAAAAMALmlkYXRhJDbMAgAABQAAAAMALnRleHQAAAAIEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdIBAAABQAAAAMALmlkYXRhJDVEAQAABQAAAAMALmlkYXRhJDSYAAAABQAAAAMALmlkYXRhJDbsAgAABQAAAAMALnRleHQAAAAQEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdEBAAABQAAAAMALmlkYXRhJDVAAQAABQAAAAMALmlkYXRhJDSUAAAABQAAAAMALmlkYXRhJDbcAgAABQAAAAMALnRleHQAAAAYEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdQBAAABQAAAAMALmlkYXRhJDVMAQAABQAAAAMALmlkYXRh
JDSgAAAABQAAAAMALmlkYXRhJDYMAwAABQAAAAMALnRleHQAAAAgEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdcBAAABQAAAAMALmlkYXRhJDVYAQAABQAAAAMALmlkYXRhJDSsAAAABQAAAAMALmlkYXRhJDYoAwAABQAAAAMALnRleHQAAAAoEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDeMBAAABQAAAAMALmlkYXRhJDWIAQAABQAAAAMALmlkYXRhJDTcAAAABQAAAAMALmlkYXRhJDacAwAABQAAAAMALnRleHQAAAAwEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDeIBAAABQAAAAMALmlkYXRhJDWEAQAABQAAAAMALmlkYXRhJDTYAAAABQAAAAMALmlkYXRhJDaUAwAABQAAAAMALnRleHQAAAA4EAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDeABAAABQAAAAMALmlkYXRhJDV8AQAABQAAAAMALmlkYXRhJDTQAAAABQAAAAMALmlkYXRhJDaAAwAABQAAAAMALnRleHQAAABAEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDeEBAAABQAAAAMALmlkYXRhJDWAAQAABQAAAAMALmlkYXRhJDTUAAAABQAAAAMALmlkYXRhJDaKAwAABQAAAAMALnRleHQAAABIEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDeQBAAABQAAAAMALmlkYXRhJDWMAQAABQAAAAMALmlkYXRhJDTgAAAABQAAAAMALmlkYXRhJDamAwAABQAAAAMALnRleHQAAABQEAAAAQAAAAMALmRhdGEAAAAMAAAAAgAAAAMALmJzcwAAAACcAAAABAAAAAMALmlkYXRhJDdsBAAABQAAAAMALmlkYXRhJDVoAQAABQAAAAMALmlkYXRhJDS8AAAABQAAAAMALmlkYXRh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ZGVyZWdpc3Rlcl9mcmFtZQAudGV4dCRfWjE0X19taW5nd191dWlkb2ZJMTlJTU1EZXZpY2VFbnVtZXJhdG9yRVJLNV9HVUlEdgBfX1oxNF9fbWluZ3dfdXVpZG9mSTE5SU1NRGV2aWNlRW51bWVyYXRvckVSSzVfR1VJRHYALnJkYXRhJF9aWjE0X19taW5nd191dWlkb2ZJMTlJTU1EZXZpY2VFbnVtZXJhdG9yRVJLNV9HVUlEdkUxMV9fdXVpZF9pbnN0AC50ZXh0JF9aMTRfX21pbmd3X3V1aWRvZkkxOE1NRGV2aWNlRW51bWVyYXRvckVSSzVfR1VJRHYAX19aMTRfX21pbmd3X3V1aWRvZkkxOE1NRGV2aWNlRW51bWVyYXRvckVSSzVfR1VJRHYALnJkYXRhJF9aWjE0X19taW5nd191dWlkb2ZJMThNTURldmljZUVudW1lcmF0b3JFUks1X0dVSUR2RTExX191dWlkX2luc3QALnRleHQkX1oxNF9fbWluZ3dfdXVpZG9mSTIwSUF1ZGlvRW5kcG9pbnRWb2x1bWVFUks1X0dVSUR2AF9fWjE0X19taW5nd191dWlkb2ZJMjBJQXVkaW9FbmRwb2ludFZvbHVtZUVSSzVfR1VJRHYALnJkYXRhJF9aWjE0X19taW5nd191dWlkb2ZJMjBJQXVkaW9FbmRwb2ludFZvbHVtZUVSSzVfR1VJRHZFMTFfX3V1aWRfaW5zdABfX190bHJlZ2R0b3IAX19fZHluX3Rsc19kdG9yQDEyAF9fX2R5
bl90bHNfaW5pdEAxMgBfX19taW5nd19tdGhyZWFkX2hkbGwAX19fY3B1X2ZlYXR1cmVzX2luaXQAX19fcmVwb3J0X2Vycm9yAF9fX3dyaXRlX21lbW9yeQBfX3BlaTM4Nl9ydW50aW1lX3JlbG9jYXRvcgBfd2FzX2luaXQuMzEwODcAX19fZG9fZ2xvYmFsX2R0b3JzAF9fX2RvX2dsb2JhbF9jdG9ycwBfaW5pdGlhbGl6ZWQAX19mcHJlc2V0AF9fX21pbmd3dGhyX3J1bl9rZXlfZHRvcnMAX19fbWluZ3d0aHJfY3NfaW5pdABfX19taW5nd3Rocl9jcwBfa2V5X2R0b3JfbGlzdABfX19taW5nd19UTFNjYWxsYmFjawBfX19fdzY0X21pbmd3dGhyX3JlbW92ZV9rZXlfZHRvcgBfX19fdzY0X21pbmd3dGhyX2FkZF9rZXlfZHRvcgBwc2V1ZG8tcmVsb2MtbGlzdC5jAC5kZWJ1Z19hYmJyZXYALmRlYnVnX2luZm8ALmRlYnVnX2xpbmUALmRlYnVnX3B1Ym5hbWVzAC5kZWJ1Z19wdWJ0eXBlcwBfX19mcGNsYXNzaWZ5AF9fX0pDUl9FTkRfXwBfcmVnaXN0ZXJfZnJhbWVfY3RvcgAuY3RvcnMuNjU1MzUAX19aWjE0X19taW5nd191dWlkb2ZJMjBJQXVkaW9FbmRwb2ludFZvbHVtZUVSSzVfR1VJRHZFMTFfX3V1aWRfaW5zdABfVmlydHVhbFByb3RlY3RAMTYAX19fUlVOVElNRV9QU0VVRE9fUkVMT0NfTElTVF9fAF9faW1wX19fc2V0bW9kZQBfX2RhdGFfc3RhcnRfXwBfRnJlZUxpYnJhcnlANABfX19EVE9SX0xJU1RfXwBfX2ltcF9fVmlydHVhbFByb3RlY3RAMTYALndlYWsuX19Kdl9SZWdpc3RlckNsYXNzZXMuX19fZ2NjX3JlZ2lzdGVyX2ZyYW1lAF9faW1wX19fb25leGl0AF9fX3BfX2Ztb2RlAF9faW1wX19HZXRMYXN0RXJyb3JAMABfX2ltcF9fR2V0VmVyc2lvbkV4QUA0AF9fWloxNF9fbWluZ3dfdXVpZG9mSTE4TU1EZXZpY2VFbnVtZXJhdG9yRVJLNV9HVUlEdkUxMV9fdXVpZF9pbnN0AF9TZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXJANABfX2ltcF9fVmlydHVhbFF1ZXJ5QDEyAF9fX3Rsc19zdGFydF9fAF9faW1wX19UbHNHZXRWYWx1ZUA0AF9fbGlibXN2Y3J0X2FfaW5hbWUAX19pbXBfX0luaXRpYWxpemVDcml0aWNhbFNlY3Rpb25ANABfRGVsZXRlQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX2Fib3J0AF9fZGxsX2NoYXJhY3RlcmlzdGljc19fAF9fc2l6ZV9vZl9zdGFja19jb21taXRfXwBfX3NpemVfb2Zfc3RhY2tfcmVzZXJ2ZV9fAF9fbWFqb3Jfc3Vic3lzdGVtX3ZlcnNpb25fXwBfX19jcnRfeGxfc3RhcnRfXwBfX19jcnRfeGlfc3RhcnRfXwBfX19jcnRfeGlfZW5kX18AX19pbXBfX0NvVW5pbml0aWFsaXplQDAAX0dldExhc3RFcnJvckAwAF9faW1wX19fX3BfX2Vudmlyb24AX1ZpcnR1YWxRdWVyeUAxMgBfbWluZ3dfaW5pdGx0c2Ryb3RfZm9yY2UAX19pbXBfX19pb2IAX0dldE1vZHVsZUhhbmRsZUFANABfX2Jzc19zdGFydF9fAF9faW1wX19Db0luaXRpYWxpemVANABfX19SVU5USU1FX1BTRVVET19SRUxPQ19MSVNUX0VORF9fAF9fc2l6ZV9vZl9oZWFwX2NvbW1pdF9fAF9faW1wX19Db0NyZWF0ZUluc3RhbmNlQDIwAF9fX3BfX2Vudmly
b24AX19pbXBfX0dldFByb2NBZGRyZXNzQDgAX0dldFByb2NBZGRyZXNzQDgAX19fY3J0X3hwX3N0YXJ0X18AX19fbWluZ3dfZ01US2V5RHRvcgBfX19jcnRfeHBfZW5kX18AX19pbXBfX3NpZ25hbABfX2ltcF9fcHV0cwBfX21pbm9yX29zX3ZlcnNpb25fXwBfX2ltcF9fYXRleGl0AF9faGVhZF9saWJtc3ZjcnRfYQBfX2ltYWdlX2Jhc2VfXwBfR2V0VmVyc2lvbkV4QUA0AF9fc2VjdGlvbl9hbGlnbm1lbnRfXwBfTG9hZExpYnJhcnlBQDQAX19pbXBfX0ZyZWVMaWJyYXJ5QDQAX19saWJvbGUzMl9hX2luYW1lAF9fUlVOVElNRV9QU0VVRE9fUkVMT0NfTElTVF9fAF9Db0NyZWF0ZUluc3RhbmNlQDIwAF9faW1wX19fX3BfX2Ztb2RlAF9fdGxzX3N0YXJ0AF9FeGl0UHJvY2Vzc0A0AF9fZGF0YV9lbmRfXwBfX19nZXRtYWluYXJncwBfX0NUT1JfTElTVF9fAF9fX3NldF9hcHBfdHlwZQBfX2Jzc19lbmRfXwBfX0NSVF9mbW9kZQBfX19jcnRfeGNfZW5kX18AX190bHNfaW5kZXgAX19fY3J0X3hjX3N0YXJ0X18AX19fQ1RPUl9MSVNUX18AX0NvVW5pbml0aWFsaXplQDAAX19pbXBfX21lbWNweQBfX1paMTRfX21pbmd3X3V1aWRvZkkxOUlNTURldmljZUVudW1lcmF0b3JFUks1X0dVSUR2RTExX191dWlkX2luc3QAX19pbXBfX3N0cmNtcABfX2ZpbGVfYWxpZ25tZW50X18AX19pbXBfX0xlYXZlQ3JpdGljYWxTZWN0aW9uQDQAX19tYWpvcl9vc192ZXJzaW9uX18AX0NvSW5pdGlhbGl6ZUA0AF9fdGxzX2VuZABfX2ltcF9fR2V0TW9kdWxlSGFuZGxlQUA0AF9fRFRPUl9MSVNUX18AX0VudGVyQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX21lbXNldABfX3NpemVfb2ZfaGVhcF9yZXNlcnZlX18AX19fY3J0X3h0X3N0YXJ0X18AX19fSW1hZ2VCYXNlAF9faGVhZF9saWJvbGUzMl9hAF9fc3Vic3lzdGVtX18AX19fbWluZ3dfZ01UUmVtb3ZlS2V5RHRvcgBfX19taW5nd191c2VtdGhyZWFkX2RsbABfX2ltcF9fY2FsbG9jAF9fSnZfUmVnaXN0ZXJDbGFzc2VzAF9faW1wX19fX2dldG1haW5hcmdzAF9faW1wX19fd2lubWFqb3IAX19fdGxzX2VuZF9fAF9faW1wX19FeGl0UHJvY2Vzc0A0AF9taW5nd19pbml0bHRzc3VvX2ZvcmNlAF9Jbml0aWFsaXplQ3JpdGljYWxTZWN0aW9uQDQAX19fY3B1X2ZlYXR1cmVzAF9faW1wX19mcmVlAF9faW1wX19TZXRVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXJANABfX21ham9yX2ltYWdlX3ZlcnNpb25fXwBfX2xvYWRlcl9mbGFnc19fAF9fQ1JUX2dsb2IAX19zZXRtb2RlAF9faW1wX19wcmludGYAX19oZWFkX2xpYmtlcm5lbDMyX2EAX19pbXBfX19jZXhpdABfX21pbm9yX3N1YnN5c3RlbV92ZXJzaW9uX18AX19taW5vcl9pbWFnZV92ZXJzaW9uX18AX19pbXBfX3ZmcHJpbnRmAF9faW1wX19fX3NldF9hcHBfdHlwZQBfX2ltcF9fYXRvZgBfbWluZ3dfaW5pdGx0c2R5bl9mb3JjZQBfVGxzR2V0VmFsdWVANABfX2ltcF9fRGVsZXRlQ3JpdGljYWxTZWN0aW9uQDQAX0xlYXZlQ3JpdGljYWxTZWN0aW9uQDQAX19pbXBfX0xvYWRMaWJy
YXJ5QUA0AF9fUlVOVElNRV9QU0VVRE9fUkVMT0NfTElTVF9FTkRfXwBfX2xpYmtlcm5lbDMyX2FfaW5hbWUAX19fZHluX3Rsc19pbml0X2NhbGxiYWNrAF9fdGxzX3VzZWQAX19fY3J0X3h0X2VuZF9fAF92ZnByaW50ZgBfX2ltcF9fRW50ZXJDcml0aWNhbFNlY3Rpb25ANABfX2ltcF9fZndyaXRlAA==
endtext
=strtofile( strconv(m.filebin,14), m.file)
if !file(m.file)
return ""
endif
return m.file
endfunc
function yicon()
text to m.myvar noshow
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
endtext
strtofile(strconv(m.myvar,14),"ysound.ico")
return .t.
endfunc
Click on code to select [then copy] -click outside to deselect
*2* created on sunday 01 of april 2018
*this use a Pad defined menu of the main vfp menu to drive the master sound volume with shell object
*note that the system slider appear always and i dont found a way to hide it.can set volume directly on this slider when it shows.
*note: can also use as well the API keybd_event for same purpose with these keys
*Volume Mute key: VK_VOLUME_MUTE 0xAD
*Volume Down key: VK_VOLUME_DOWN 0xAE
*Volume Up key : VK_VOLUME_UP 0xAF
Set Sysmenu To Defa
Set Color Of Scheme 1 To N+/w*,GR+/N*,,,,w+/R &&the vfp menu system override it here
Define Pad padVol Of _Msysmenu Prompt "\< yVolSound" Message "Choose action to run" color scheme 1 &&the spaces are to position the pad menu
Define Popup popVol Margin
Define Bar 1 Of popVol Prompt "1. Increase Volume" Message "Increase master volume by +2%" && Picture "D:\________ytest2017\yicons_start\1.ico" &&can set custom icons here (hardcoded only or can specify PictureName in a relative path.)
Define Bar 2 Of popVol Prompt "2. Decrease Volume " Message "decrease master volume by -2%" && Picture "D:\________ytest2017\yicons_start\2.ico"
Define Bar 3 Of popVol Prompt "3. Mute/Unmute" Message "mut/unmute(switch)" && Picture "D:\________ytest2017\yicons_start\3.ico"
Define Bar 4 Of popVol Prompt "4. Sndvol" Message "system sndVol interface" && Picture "D:\________ytest2017\yicons_start\4.ico"
Define Bar 5 Of popVol Prompt "5. Restore menu" Message "Restore main vfp menu"
On Pad padVol Of _Msysmenu Activate Popup popVol
On Selection Bar 1 Of popVol proc1()
On Selection Bar 2 Of popVol proc2()
On Selection Bar 3 Of popVol proc3()
On Selection Bar 4 Of popVol proc4()
On Selection Bar 5 Of popVol Set Sysmenu To Defa
*menu can be also on a vfp top level form menu
Function proc1()
*Inncrease volume level:
Local oShell
oShell = Newobject("WScript.Shell")
oShell.SendKeys(Chr(0xAF))
oShell=Null
Endfunc
Function proc2()
*Decrease volume level:
Local oShell
oShell = Newobject("WScript.Shell")
oShell.SendKeys(Chr(0xAE))
oShell=Null
Endfunc
Function proc3()
*mute/unmute
Local oShell
oShell = Newobject("WScript.Shell")
oShell.SendKeys(Chr(0xAD)) &&mute/unMute
oShell=Null
Endfunc
Function proc4()
Try
Run/N sndvol
Catch
Messagebox("snvol.exe not installed!",16+4096,'Error',1300)
Endtry
Endfunc
Click on code to select [then copy] -click outside to deselect
*3* created on monday 02 of april 2018
*String2menu
* Builds a contextuel iconed menu from a formatted menu string.this avoids the built of mpr menu and codes directly the string menu.Actions are not code here.
*this extends systray class (menuText property).its one column menu.
*from systray.vcx class (home(1)+"samples\solution\toledo\systray.vcx)
*note: can use designer and ismenuMPR=.t. to avoid menutext in systray class.here can install pictures or pictres (as resource) for each contextuel menu item.
*type a string meu formatted like this:(3 items+2sperators here...to customize)
MenuText = [1; API Viewer ; 2;\-;3;Summary help;4;\-;5;Documentation;6; Exit]
Local lnMenuItems, lcMenuName, laMenuItems[1], lnCurrentMenuItem
Local lnToken, lcText, lnBarNum
lnMenuItems = Alines(m.laMenuItems, MenuText, .T., ";")
If m.lnMenuItems = 0
Release loTempForm
Return .F.
Endif
If m.lnMenuItems % 2 != 0
* Incorrect number of items in MenuText property.
If m.lnMenuItems > 1
lnMenuItems = lnMenuItems - 1
Else
Release loTempForm
Return .F.
Endif
Endif
lcMenuName = Sys(2015)
* Make private variable to receive the ID of the selected menu item.
Private __systray_menu_return
__systray_menu_return = 0
* Build the menu.
Define Popup (m.lcMenuName) SHORTCUT Relative From Mrow(),Mcol()
For lnCurrentMenuItem = 1 To m.lnMenuItems Step 2
** add custom pictures here*
Do Case
Case lnCurrentMenuItem=1
m.ypict=Home(1)+"graphics\icons\misc\misc01.ico"
Case lnCurrentMenuItem=5
m.ypict=Home(1)+"graphics\icons\misc\misc05.ico"
Case lnCurrentMenuItem=9
m.ypict=Home(1)+"graphics\icons\misc\misc15.ico"
Otherwise
m.ypict=""
Endcase
lnToken = Val(m.laMenuItems[m.lnCurrentMenuItem])
lcText = m.laMenuItems[m.lnCurrentMenuItem + 1]
lnBarNum = Floor(m.lnCurrentMenuItem/2) + 1
Define Bar (lnBarNum) Of (m.lcMenuName) Prompt (m.lcText) Picture (m.ypict) &&add picture clause here or pictres if the case
lcOnSelectionBar = "ON SELECTION BAR " + Transform(m.lnBarNum) + " OF " + ;
TRANSFORM(m.lcMenuName) + " __systray_menu_return = " + Transform(m.lnToken)
&lcOnSelectionBar
Endfor
Set Escape Off
* Display the menu and wait for user action.
Activate Popup (m.lcMenuName)
Click on code to select [then copy] -click outside to deselect
*4* created on monday 02 of april 2018
*cursor2menu
* Builds a contextuel iconed menu from a prepared cursor.this avoids the built of mpr menu and codes directly the contextuel menu.code can be pasted diretly in a prg or form.
*the menu is its one column one.
*action can be customized (here return nothing)
Create Cursor ycurs(Id i,xtext c(100),Pict c(100),pictr c(30),action c(100))
Insert Into ycurs Values (1,"API Viewer",Home(1)+"graphics\icons\misc\misc01.ico","","")
Insert Into ycurs Values (2,"\-","","","") &&separator
Insert Into ycurs Values (3,"Copy","","_med_copy","")
Insert Into ycurs Values (4,"Cut","","_med_cut","")
Insert Into ycurs Values (5,"Paste","","_med_paste","")
Insert Into ycurs Values (6,"unddo","","_med_undo","")
Insert Into ycurs Values (7,"redo","","_med_redo","")
Insert Into ycurs Values (8,"Select all","","_med_slcta","")
Insert Into ycurs Values (9,"\-","","","") &&separator
Insert Into ycurs Values (10,"Summary Help",Home(1)+"graphics\icons\misc\misc05.ico","","")
Insert Into ycurs Values (11,"\-","","","") &&separator
Insert Into ycurs Values (12,"Exit",Home(1)+"graphics\icons\misc\misc15.ico","","")
*brow
Local m.myvar,m.cr,m.lcmenuName,m.x1,m.x2,m.x3
m.lcmenuName = Sys(2015)
m.cr=Chr(13)
m.x=[Define Popup ]+m.lcmenuName+[ SHORTCUT Relative From Mrow(),Mcol()]
*Define Bar (lnBarNum) Of (m.lcMenuName) Prompt (m.lcText) Picture (m.ypict)
Scan
m.x1=Iif(!Empty(Pict) ,' PICTURE "'+Allt(Pict)+'"',"") &&must have picture or pictres clause only.
m.x2=Iif(!Empty(pictr),' PICTRES '+Allt(pictr)+'',"")
m.x3="ON SELECTION BAR " + Trans(Id) + " OF " + (m.lcmenuName )
m.x=m.x+cr+'Define Bar '+Trans(Id)+' Of '+(m.lcmenuName)+' Prompt "'+Allt(xtext)+'"' + m.x1 +m.x2+cr+m.x3+cr
Endscan
m.x=m.x+cr+'Activate Popup '+m.lcmenuName+cr
_Cliptext=m.x
Execscript(m.x) &&show the contextuel menu here
Retu
Important:All Codes above are tested on VFP9SP2 & windows 10 pro 64 bits version 1709(fall creator) & IE11 emulation. Navigator: firefox - screen:32 pouces.