Leaderboard
Popular Content
Showing content with the highest reputation on 05/12/2020 in all areas
-
Hi everyone, Some good news for you among all the gloom of these virus-ridden times: Nine, Subz and Danyfirex have accepted the invitation to become MVPs. Please join me in congratulating them on their new status in our community. Keep safe out there, M232 points
-
Version 1.4.0.0
1,679 downloads
Extensive library to control and manipulate Microsoft Outlook. This UDF holds the functions to automate the Outlook GUI. There are other UDFs available to automate Outlook: OutlookEX: Automates the processing of items (folders, mails, contacts ...) in the background. Can be seen like an API. OutlookTools: Allows to import/export contacts and events to VCF/ICS files. Theads: Development - General Help & Support - Example Scripts - Wiki Known Bugs: (last changed: 2020-03-27) None Things to come: (last changed: 2020-03-27) None BTW: If you like this UDF please click the "I like this" button. This tells me where to next put my development effort1 point -
Hello. You can do something like this. Opt("MustDeclareVars", 1) Global Enum $eRender, $eCapture, $eAll, $EDataFlow_enum_count ;~ AudioSessionState Global Const $CLSCTX_INPROC_SERVER = 0x01 Global Const $eMultimedia = 1 Global Const $sCLSID_MMDeviceEnumerator = "{BCDE0395-E52F-467C-8E3D-C4579291692E}" Global Const $sIID_IMMDeviceEnumerator = "{A95664D2-9614-4F35-A746-DE8DB63617E6}" Global Const $sTagIMMDeviceEnumerator = _ "EnumAudioEndpoints hresult(int;dword;ptr*);" & _ "GetDefaultAudioEndpoint hresult(int;int;ptr*);" & _ "GetDevice hresult(wstr;ptr*);" & _ "RegisterEndpointNotificationCallback hresult(ptr);" & _ "UnregisterEndpointNotificationCallback hresult(ptr)" Global Const $sIID_IMMDevice = "{D666063F-1587-4E43-81F1-B948E807363F}" Global Const $sTagIMMDevice = _ "Activate hresult(struct*;dword;ptr;ptr*);" & _ "OpenPropertyStore hresult(dword;ptr*);" & _ "GetId hresult(wstr*);" & _ "GetState hresult(dword*)" Global Const $sIID_IAudioSessionEnumerator = "{e2f5bb11-0570-40ca-acdd-3aa01277dee8}" Global Const $sTagIAudioSessionEnumerator = "GetCount hresult(int*);GetSession hresult(int;ptr*)" Global Const $sIID_IAudioEndpointVolume = "{5CDF2C82-841E-4546-9722-0CF74078229A}" Global Const $sTagIAudioEndpointVolume = _ "RegisterControlChangeNotify hresult(ptr);" & _ "UnregisterControlChangeNotify hresult(ptr);" & _ "GetChannelCount hresult(uint*);" & _ "SetMasterVolumeLevel hresult(float;ptr);" & _ "SetMasterVolumeLevelScalar hresult(float;ptr);" & _ "GetMasterVolumeLevel hresult(float*);" & _ "GetMasterVolumeLevelScalar hresult(float*);" & _ "SetChannelVolumeLevel hresult(uint;float;ptr);" & _ "SetChannelVolumeLevelScalar hresult(uint;float;ptr);" & _ "GetChannelVolumeLevel hresult(uint;float*);" & _ "GetChannelVolumeLevelScalar hresult(uint;float*);" & _ "SetMute hresult(int;ptr);" & _ "GetMute hresult(int*);" & _ "GetVolumeStepInfo hresult(uint*;uint*);" & _ "VolumeStepUp hresult(ptr);" & _ "VolumeStepDown hresult(ptr);" & _ "QueryHardwareSupport hresult(dword*);" & _ "GetVolumeRange hresult(float*;float*;float*)" Local $pIMMDevice = 0 Local $oMMDevice = 0 Local $oMMDeviceEnumerator = ObjCreateInterface($sCLSID_MMDeviceEnumerator, $sIID_IMMDeviceEnumerator, $sTagIMMDeviceEnumerator) If Not IsObj($oMMDeviceEnumerator) Then Exit If FAILED($oMMDeviceEnumerator.GetDefaultAudioEndpoint($eCapture, $eMultimedia, $pIMMDevice)) Then Exit ConsoleWrite("$pIMMDevice: " & $pIMMDevice & @CRLF) $oMMDevice = ObjCreateInterface($pIMMDevice, $sIID_IMMDevice, $sTagIMMDevice) If Not IsObj($oMMDevice) Then Exit ConsoleWrite("IsObj($oMMDevice): " & IsObj($oMMDevice) & @CRLF) Local $pIAudioEndpointVolume = 0 Local $oIAudioEndpointVolume = 0 If FAILED($oMMDevice.Activate(__uuidof($sIID_IAudioEndpointVolume), $CLSCTX_INPROC_SERVER, 0, $pIAudioEndpointVolume)) Then Exit ConsoleWrite("$pIAudioEndpointVolume: " & $pIAudioEndpointVolume & @CRLF) $oIAudioEndpointVolume = ObjCreateInterface($pIAudioEndpointVolume, $sIID_IAudioEndpointVolume, $sTagIAudioEndpointVolume) ConsoleWrite("IsObj($oIAudioEndpointVolume): " & IsObj($oIAudioEndpointVolume) & @CRLF) Local $bMute = 0 $oIAudioEndpointVolume.GetMute($bMute) ConsoleWrite("Mute: " & $bMute & @CRLF) Sleep(3000) $bMute = $bMute ? 0 : 1 ;Set Mute Exchange State ConsoleWrite("Set Mute To: " & $bMute & @CRLF) $oIAudioEndpointVolume.SetMute($bMute, 0) Exit Func FAILED($hr) Return ($hr < 0) EndFunc ;==>FAILED Func __uuidof($sGUID) Local $tGUID = DllStructCreate("ulong Data1;ushort Data2;ushort Data3;byte Data4[8]") DllCall("ole32.dll", "long", "CLSIDFromString", "wstr", $sGUID, "struct*", $tGUID) If @error Then Return SetError(@error, @extended, 0) Return $tGUID EndFunc ;==>__uuidof Saludos1 point
-
speed up order by int DESC, text ASC;
argumentum reacted to Georgio12 for a topic
In the thread above a few people hit on the idea of synthesizing a separate column to be indexed, named like Date_and_Name-Sequence-Number. I see how this could improve the sort time on a large set of Selected records. The problem is the potential (read: likelihood) that the fake-indexed column will become wrong/out of date as compared with the real data. As in, you have introduced a new data-integrity nightmare. That manual column now must be maintained across all rows having that Date / in that Sequence. Whenever the Date column is inserted or updated in any row having that Date, the entire set of records with that Date must be re-sequenced, or at least checked for the need to re-sequence. I can't believe there is no way to index the Date and Name columns to get the required sort performance, regardless of what database engine we're talking about. However! I understand some bigger client-server SQL engines have this kind of feature built in. A 'virtual' column can be defined at the table level, where a synthesized column returns the result of an expression that evaluates other columns in that row. In this way, the column is kind of like a View, except it's at the Column level instead of at the Table level. This may or may not solve the slow-sort problem, but it would certainly avoid introducing a foreseeable data integrity problem. Another exception would be the enterprise-level case where there are two sets of tables: one set optimized for normalization/efficient storage focused on integrity, and one set optimized for fast selecting and sorting for output purposes. One tradeoff is data staleness: your output is only as fresh as your periodic publish process, where the data is copied and de-normalized from the Storage database to the Reporting tables/database. From experience at this level of IT, we always had a third set of tables too, which were optimized for input: zero normalization, with intake processing to reject invalid data.1 point -
1 point
-
WebDriver UDF - Help & Support (II)
hoangvu0905 reacted to Jos for a topic
Please use this Support thread for your questions. Thanks1 point -
Hi, i was just playing with this, searching for the solution. Then i saw your workaround, and then it clicked ! If you change the $iBuffer = StringLen($sMessage) + 1 and remove the +1, it should work. (from your 1st post) Logical explanation: Looks like the cmd is waiting for data, but got nothing, because the string length was too short.1 point
-
Hi Faustf, Thank you very much. This worked.1 point
-
1 point