Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/12/2020 in all areas

  1. 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, M23
    2 points
  2. water

    OutlookEX_GUI

    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 effort
    1 point
  3. 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 Saludos
    1 point
  4. 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
  5. Jon

    Source Code for Aut2Exe

    I miss bars.
    1 point
  6. Please use this Support thread for your questions. Thanks
    1 point
  7. 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
  8. Hi Faustf, Thank you very much. This worked.
    1 point
  9. Jos

    Congrats to the New MVPs

    Welcome to " the other side" Jos
    1 point
×
×
  • Create New...