64位Office API声明语句第90讲

交互设计

  【分享成果,随喜正能量】今天,无论好与坏,都要用心去耕耘,不求有功、但求无过,但求无愧于心。明天,无论到与不到,只要把握好今天就足矣。。 跟我学VBA,我这里专注VBA, 授人以渔。我98年开始,从源码接触VBA已经20余年了,随着年龄的增长,越来越觉得有必要把这项技能传递给需要这项技术的职场人员。希望职场和数据打交道的朋友,都来学习VBA,利用VBA,起码可以提高自己的工作效率,可以有时间多陪陪父母,多陪陪家人,何乐而不为呢? 这讲我们继续学习64位Office API声明语句第90讲,这些内容是MS的权威资料,看似枯燥,但对于想学习API函数的朋友是非常有用的。 当学员学习到高级阶段,如果引用API,这个资料可以直接查到64位写法。大多数情况下我们是将低版本的程序文件升级到高版本,这时您就不必为如下的错误提示所困扰了: Const MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER = (MIXERCONTROL_CT_CLASS_METER Or MIXERCONTROL_CT_SC_METER_POLLED Or MIXERCONTROL_CT_UNITS_UNSIGNED) Const MIXERCONTROL_CONTROLTYPE_BOOLEAN = (MIXERCONTROL_CT_CLASS_SWITCH Or MIXERCONTROL_CT_SC_SWITCH_BOOLEAN Or MIXERCONTROL_CT_UNITS_BOOLEAN) Const MIXERCONTROL_CONTROLTYPE_ONOFF = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 1) Const MIXERCONTROL_CONTROLTYPE_MUTE = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 2) Const MIXERCONTROL_CONTROLTYPE_MONO = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 3) Const MIXERCONTROL_CONTROLTYPE_LOUDNESS = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 4) Const MIXERCONTROL_CONTROLTYPE_STEREOENH = (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 5) Const MIXERCONTROL_CONTROLTYPE_BUTTON = (MIXERCONTROL_CT_CLASS_SWITCH Or MIXERCONTROL_CT_SC_SWITCH_BUTTON Or MIXERCONTROL_CT_UNITS_BOOLEAN) Const MIXERCONTROL_CONTROLTYPE_DECIBELS = (MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_DECIBELS) Const MIXERCONTROL_CONTROLTYPE_SIGNED = (MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_SIGNED) Const MIXERCONTROL_CONTROLTYPE_UNSIGNED = (MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_UNSIGNED) Const MIXERCONTROL_CONTROLTYPE_PERCENT = (MIXERCONTROL_CT_CLASS_NUMBER Or MIXERCONTROL_CT_UNITS_PERCENT) Const MIXERCONTROL_CONTROLTYPE_SLIDER = (MIXERCONTROL_CT_CLASS_SLIDER Or MIXERCONTROL_CT_UNITS_SIGNED) Const MIXERCONTROL_CONTROLTYPE_PAN = (MIXERCONTROL_CONTROLTYPE_SLIDER + 1) Const MIXERCONTROL_CONTROLTYPE_QSOUNDPAN = (MIXERCONTROL_CONTROLTYPE_SLIDER + 2) Const MIXERCONTROL_CONTROLTYPE_FADER = (MIXERCONTROL_CT_CLASS_FADER Or MIXERCONTROL_CT_UNITS_UNSIGNED) Const MIXERCONTROL_CONTROLTYPE_VOLUME = (MIXERCONTROL_CONTROLTYPE_FADER + 1) Const MIXERCONTROL_CONTROLTYPE_BASS = (MIXERCONTROL_CONTROLTYPE_FADER + 2) Const MIXERCONTROL_CONTROLTYPE_TREBLE = (MIXERCONTROL_CONTROLTYPE_FADER + 3) Const MIXERCONTROL_CONTROLTYPE_EQUALIZER = (MIXERCONTROL_CONTROLTYPE_FADER + 4) Const MIXERCONTROL_CONTROLTYPE_SINGLESELECT = (MIXERCONTROL_CT_CLASS_LIST Or MIXERCONTROL_CT_SC_LIST_SINGLE Or MIXERCONTROL_CT_UNITS_BOOLEAN) Const MIXERCONTROL_CONTROLTYPE_MUX = (MIXERCONTROL_CONTROLTYPE_SINGLESELECT + 1) Const MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT = (MIXERCONTROL_CT_CLASS_LIST Or MIXERCONTROL_CT_SC_LIST_MULTIPLE Or MIXERCONTROL_CT_UNITS_BOOLEAN) Const MIXERCONTROL_CONTROLTYPE_MIXER = (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT + 1) Const MIXERCONTROL_CONTROLTYPE_MICROTIME = (MIXERCONTROL_CT_CLASS_TIME Or MIXERCONTROL_CT_SC_TIME_MICROSECS Or MIXERCONTROL_CT_UNITS_UNSIGNED) Const MIXERCONTROL_CONTROLTYPE_MILLITIME = (MIXERCONTROL_CT_CLASS_TIME Or MIXERCONTROL_CT_SC_TIME_MILLISECS Or MIXERCONTROL_CT_UNITS_UNSIGNED) ' ' MIXERLINECONTROLS ' Type MIXERLINECONTROLS cbStruct As Long ' size in Byte of MIXERLINECONTROLS dwLineID As Long ' line id (from MIXERLINE.dwLineID) ' MIXER_GETLINECONTROLSF_ONEBYID or dwControl As Long ' MIXER_GETLINECONTROLSF_ONEBYTYPE cControls As Long ' count of controls pmxctrl points to cbmxctrl As Long ' size in Byte of _one_ MIXERCONTROL pamxctrl As MIXERCONTROL ' pointer to first MIXERCONTROL array End Type Declare PtrSafe Function mixerGetLineControls Lib "winmm.dll" Alias "mixerGetLineControlsA" (ByVal hmxobj As LongPtr, pmxlc As MIXERLINECONTROLS, ByVal fdwControls As Long) As Long Const MIXER_GETLINECONTROLSF_ALL = &H0& Const MIXER_GETLINECONTROLSF_ONEBYID = &H1& Const MIXER_GETLINECONTROLSF_ONEBYTYPE = &H2& Const MIXER_GETLINECONTROLSF_QUERYMASK = &HF& Type MIXERCONTROLDETAILS cbStruct As Long ' size in Byte of MIXERCONTROLDETAILS dwControlID As Long ' control id to get/set details on cChannels As Long ' number of channels in paDetails array item As LongPtr ' hwndOwner or cMultipleItems cbDetails As Long ' size of _one_ details_XX struct paDetails As LongPtr ' pointer to array of details_XX structs End Type ' MIXER_GETCONTROLDETAILSF_LISTTEXT Type MIXERCONTROLDETAILS_LISTTEXT dwParam1 As Long dwParam2 As Long szName(0 To MIXER_LONG_NAME_CHARS - 1) As Byte End Type ' MIXER_GETCONTROLDETAILSF_VALUE Type MIXERCONTROLDETAILS_BOOLEAN fValue As Long End Type Type MIXERCONTROLDETAILS_SIGNED lValue As Long End Type Type MIXERCONTROLDETAILS_UNSIGNED dwValue As Long End Type Declare PtrSafe Function mixerGetControlDetails Lib "winmm.dll" Alias "mixerGetControlDetailsA" (ByVal hmxobj As LongPtr, pmxcd As MIXERCONTROLDETAILS, ByVal fdwDetails As Long) As Long Const MIXER_GETCONTROLDETAILSF_VALUE = &H0& Const MIXER_GETCONTROLDETAILSF_LISTTEXT = &H1& Const MIXER_GETCONTROLDETAILSF_QUERYMASK = &HF& Declare PtrSafe Function mixerSetControlDetails Lib "winmm.dll" Alias "mixerSetControlDetails" (ByVal hmxobj As LongPtr, pmxcd As MIXERCONTROLDETAILS, ByVal fdwDetails As Long) As Long Const MIXER_SETCONTROLDETAILSF_VALUE = &H0& Const MIXER_SETCONTROLDETAILSF_CUSTOM = &H1& Const MIXER_SETCONTROLDETAILSF_QUERYMASK = &HF& ' constants used with JOYINFOEX Const JOY_BUTTON5 = &H10& Const JOY_BUTTON6 = &H20& Const JOY_BUTTON7 = &H40& Const JOY_BUTTON8 = &H80& Const JOY_BUTTON9 = &H100& Const JOY_BUTTON10 = &H200& Const JOY_BUTTON11 = &H400& Const JOY_BUTTON12 = &H800& Const JOY_BUTTON13 = &H1000& Const JOY_BUTTON14 = &H2000& Const JOY_BUTTON15 = &H4000& Const JOY_BUTTON16 = &H8000& Const JOY_BUTTON17 = &H10000 Const JOY_BUTTON18 = &H20000 Const JOY_BUTTON19 = &H40000 Const JOY_BUTTON20 = &H80000 Const JOY_BUTTON21 = &H100000 Const JOY_BUTTON22 = &H200000 Const JOY_BUTTON23 = &H400000 Const JOY_BUTTON24 = &H800000 Const JOY_BUTTON25 = &H1000000 Const JOY_BUTTON26 = &H2000000 Const JOY_BUTTON27 = &H4000000 Const JOY_BUTTON28 = &H8000000 Const JOY_BUTTON29 = &H10000000 Const JOY_BUTTON30 = &H20000000 Const JOY_BUTTON31 = &H40000000 Const JOY_BUTTON32 = &H80000000 ' constants used with JOYINFOEX structure Const JOY_POVCENTERED = -1 Const JOY_POVFORWARD = 0 Const JOY_POVRIGHT = 9000 Const JOY_POVBACKWARD = 18000 Const JOY_POVLEFT = 27000 Const JOY_RETURNX = &H1& Const JOY_RETURNY = &H2& Const JOY_RETURNZ = &H4& Const JOY_RETURNR = &H8& Const JOY_RETURNU = &H10 ' axis 5 Const JOY_RETURNV = &H20 ' axis 6 Const JOY_RETURNPOV = &H40& Const JOY_RETURNBUTTONS = &H80& Const JOY_RETURNRAWDATA = &H100& Const JOY_RETURNPOVCTS = &H200& Const JOY_RETURNCENTERED = &H400& Const JOY_USEDEADZONE = &H800& Const JOY_RETURNALL = (JOY_RETURNX Or JOY_RETURNY Or JOY_RETURNZ Or JOY_RETURNR Or JOY_RETURNU Or JOY_RETURNV Or JOY_RETURNPOV Or JOY_RETURNBUTTONS) Const JOY_CAL_READALWAYS = &H10000 Const JOY_CAL_READXYONLY = &H20000 Const JOY_CAL_READ3 = &H40000 Const JOY_CAL_READ4 = &H80000 Const JOY_CAL_READXONLY = &H100000 Const JOY_CAL_READYONLY = &H200000 Const JOY_CAL_READ5 = &H400000 Const JOY_CAL_READ6 = &H800000 Const JOY_CAL_READZONLY = &H1000000 Const JOY_CAL_READRONLY = &H2000000 Const JOY_CAL_READUONLY = &H4000000 Const JOY_CAL_READVONLY = &H8000000 Type JOYINFO wXpos As Long wYpos As Long wZpos As Long wButtons As Long End Type Declare PtrSafe Function joyGetPos Lib "winmm.dll" Alias "joyGetPos" (ByVal uJoyID As Long, pji As JOYINFO) As Long Declare PtrSafe Function joyGetPosEx Lib "winmm.dll" Alias "joyGetPosEx" (ByVal uJoyID As Long, pji As JOYINFOEX) As Long Const WAVE_FORMAT_QUERY = &H1 Const SND_PURGE = &H40 ' purge non-static events for task Const SND_APPLICATION = &H80 ' look for application specific association Const WAVE_MAPPED = &H4 Const WAVE_FORMAT_DIRECT = &H8 Const WAVE_FORMAT_DIRECT_QUERY = (WAVE_FORMAT_QUERY Or WAVE_FORMAT_DIRECT) Const MIM_MOREDATA = MM_MIM_MOREDATA Const MOM_POSITIONCB = MM_MOM_POSITIONCB ' flags for dwFlags parm of midiInOpen() Const MIDI_IO_STATUS = &H20& Type MIDIHDR lpData As String dwBufferLength As Long dwBytesRecorded As Long dwUser As LongPtr dwFlags As Long lpNext As LongPtr Reserved As LongPtr '#if (WINVER >= 0x0400) dwOffset As Long dwReserved(0 To 7) As LongPtr '#if End Type Declare PtrSafe Function midiStreamOpen Lib "winmm.dll" Alias "midiStreamOpen" (phms As LongPtr, puDeviceID As Long, ByVal cMidi As Long, ByVal dwCallback As LongPtr, ByVal dwInstance As LongPtr, ByVal fdwOpen As Long) As Long Declare PtrSafe Function midiStreamClose Lib "winmm.dll" Alias "midiStreamClose" (ByVal hms As LongPtr) As Long 我20多年的VBA实践经验,全部浓缩在下面的各个教程中: 【分享成果,随喜正能量】人这一辈子,怎么都是过,与其皱眉头,不如偷着乐,冬天别嫌冷,夏天别嫌热,有钱别装穷,没钱别摆阔,闲暇养养身,每日找找乐,酸甜苦辣都尝过,才算没白过。。

标签: 交互设计