<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.ydp1f46b9c1yiv6555864753msonormal, li.ydp1f46b9c1yiv6555864753msonormal, div.ydp1f46b9c1yiv6555864753msonormal
        {mso-style-name:ydp1f46b9c1yiv6555864753msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Interfaces are definitely different and cannot be used with IDispatch, etc.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Someone with more experience might be able to direct you to something, but as far as I know, that’s reserved for C++ (or likely ctypes in python…  but that’s on the fringe of what I’m capable of helping with – and completely outside the
 scope of the pywin32 module).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But to make it more clear..  ctypes is how python can call things like that C++ code, but my one endeavor into that space was a VERY long and frustrating road as making sure that all the prerequisite data structures were created (and defined
 correctly) was a daunting task, and someone ended up figuring it out for me – as I was totally missing different structures that needed to be defined (it was for some data from Terminal Server that is not publicly supported – but totally capable of being read
 from Windows).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">HTH<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Steven<o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> python-win32 <python-win32-bounces+steven=manross.net@python.org>
<b>On Behalf Of </b>name zero via python-win32<br>
<b>Sent:</b> Tuesday, May 30, 2023 10:32 PM<br>
<b>To:</b> python-win32@python.org<br>
<b>Subject:</b> Re: [python-win32] Setting Focus Assist Mode via COM<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">Hi,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">thanks for explaining the issue with clsids.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">The "application" is basically part of MS Windows. Talking to it via COM is 100% possible, as the C++ code (that is part of the GitHub-Gist)
<a href="https://gist.github.com/riverar/085d98ffb1343e92225a10817109b2e3#file-quiethours_example-cpp-L23">
demonstrates</a>. It just doesn't work with pywin32.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">When I look for "</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif">6bff4732-81ec-4ffb-ae67-b6c1bc29631f</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">"
 in the Windows registry, I only find an entry in "HKEY_CLASSES_ROOT\Interface" (there is no entry in HKEY_CLASSES_ROOT\clsid) with a default value of  "IQuietHoursSettings". But win32com.client.Dispatch('IQuietHoursSettings') fails with the error message "Invalid
 class string".<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif">Best regards!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
</div>
</div>
<div id="ydp1f46b9c1yahoo_quoted_5739963694">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">On Tuesday, May 30, 2023 at 11:41:25 PM GMT+2, Steven Manross <<a href="mailto:steven@manross.net">steven@manross.net</a>> wrote:
<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p> </o:p></span></p>
</div>
<div>
<div id="ydp1f46b9c1yiv6555864753">
<div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">While I haven’t worked on exactly what you are working on:<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">I’d first verify suggest that the application that installs this class needs to be installed on the PC you are trying to create the
 automation from, because “Class not Registered” isn’t a python error, and it talks more directly to the fact that the appropriate class from the software you are trying to automate isn’t on the computer you are running python from: so either you have the wrong
 CLSID or are doing something else wrong (missing software???).<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">Classes are listed in the registry here:<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">HKEY_CLASSES_ROOT\clsid\</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">{6bff4732-81ec-4ffb-ae67-b6c1bc29631f}<br>
<br>
… and your CLSID would need to exist (as installed from whatever software you are trying to automate) prior to python being able to automate it.</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">Here is an example that should work on your system…<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">ms_dict = win32com.client.Dispatch('Scripting.Dictionary')<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">… because the scripting dictionary object class is installed in just about every Windows OS since pre-WindowsXP<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">I hope this helps.  Enjoy your day.<o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">Steven<o:p></o:p></span></p>
<div id="ydp1f46b9c1yiv6555864753yqt51323">
<div>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;border-color:currentcolor currentcolor">
<p class="ydp1f46b9c1yiv6555864753msonormal"><b><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A">From:</span></b><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> python-win32 <<a href="mailto:python-win32-bounces+steven=manross.net@python.org">python-win32-bounces+steven=manross.net@python.org</a>>
<b>On Behalf Of </b>name zero via python-win32<br>
<b>Sent:</b> Monday, May 29, 2023 6:02 AM<br>
<b>To:</b> <a href="mailto:python-win32@python.org">python-win32@python.org</a><br>
<b>Subject:</b> [python-win32] Setting Focus Assist Mode via COM<o:p></o:p></span></p>
</div>
</div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"> <o:p></o:p></span></p>
<div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">Hi,</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A"> </span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">could someone help me out with first steps for how to set Focus Assist via COM, which
<a href="https://gist.github.com/riverar/085d98ffb1343e92225a10817109b2e3" target="_blank">
https://gist.github.com/riverar/085d98ffb1343e92225a10817109b2e3</a> demonstrates for a C++ code base? Something like</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A"> </span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">win32com.client.Dispatch('{6bff4732-81ec-4ffb-ae67-b6c1bc29631f}', clsctx=pythoncom.CLSCTX_LOCAL_SERVER)</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A"> </span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">fails with "pywintypes.com_error: (-2147221164, 'Class not registered', None, None)"</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A"> </span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
<div>
<p class="ydp1f46b9c1yiv6555864753msonormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#26282A">Thank you and best regards!</span><span style="font-size:10.0pt;font-family:"Helvetica",sans-serif;color:#26282A"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>