📄 skype4py.api.windows-pysrc.html
字号:
<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"> <tt class="py-name">Msg</tt> <tt class="py-op">=</tt> <tt class="py-name">_MSG</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"> <tt class="py-name">pMsg</tt> <tt class="py-op">=</tt> <tt class="py-name">pointer</tt><tt class="py-op">(</tt><tt class="py-name">Msg</tt><tt class="py-op">)</tt> </tt><a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt> <tt class="py-keyword">and</tt> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">GetMessageA</tt><tt class="py-op">(</tt><tt class="py-name">pMsg</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt><a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">TranslateMessage</tt><tt class="py-op">(</tt><tt class="py-name">pMsg</tt><tt class="py-op">)</tt> </tt><a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">DispatchMessageA</tt><tt class="py-op">(</tt><tt class="py-name">pMsg</tt><tt class="py-op">)</tt> </tt><a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"> </tt><a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">DestroyWindow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt><a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">DebugPrint</tt><tt class="py-op">(</tt><tt class="py-string">'thread finished'</tt><tt class="py-op">)</tt> </tt></div><a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"> </tt><a name="_ISkypeAPI.Close"></a><div id="_ISkypeAPI.Close-def"><a name="L95"></a><tt class="py-lineno"> 95</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.Close-toggle" onclick="return toggle('_ISkypeAPI.Close');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.windows._ISkypeAPI-class.html#Close">Close</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.Close-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.Close-expanded"><a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"> <tt class="py-comment"># if there are no active handlers</tt> </tt><a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">NumOfHandlers</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt><a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt><tt class="py-op">:</tt> </tt><a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">PostMessageA</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt><tt class="py-op">,</tt> <tt id="link-20" class="py-name"><a title="Skype4Py.API.windows._WM_QUIT" class="py-name" href="#" onclick="return doclink('link-20', '_WM_QUIT', 'link-16');">_WM_QUIT</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt><a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"> <tt class="py-keyword">while</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt><tt class="py-op">:</tt> </tt><a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">sleep</tt><tt class="py-op">(</tt><tt class="py-number">0.01</tt><tt class="py-op">)</tt> </tt><a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Skype</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt><a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">DebugPrint</tt><tt class="py-op">(</tt><tt class="py-string">'closed'</tt><tt class="py-op">)</tt> </tt></div><a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"> </tt><a name="_ISkypeAPI.SetFriendlyName"></a><div id="_ISkypeAPI.SetFriendlyName-def"><a name="L105"></a><tt class="py-lineno">105</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.SetFriendlyName-toggle" onclick="return toggle('_ISkypeAPI.SetFriendlyName');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.windows._ISkypeAPI-class.html#SetFriendlyName">SetFriendlyName</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">FriendlyName</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.SetFriendlyName-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.SetFriendlyName-expanded"><a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-21" class="py-name" targets="Variable Skype4Py.chat.IChat.FriendlyName=Skype4Py.chat.IChat-class.html#FriendlyName,Variable Skype4Py.skype.ISkype.FriendlyName=Skype4Py.skype.ISkype-class.html#FriendlyName"><a title="Skype4Py.chat.IChat.FriendlyNameSkype4Py.skype.ISkype.FriendlyName" class="py-name" href="#" onclick="return doclink('link-21', 'FriendlyName', 'link-21');">FriendlyName</a></tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name"><a title="Skype4Py.chat.IChat.FriendlyNameSkype4Py.skype.ISkype.FriendlyName" class="py-name" href="#" onclick="return doclink('link-22', 'FriendlyName', 'link-21');">FriendlyName</a></tt> </tt><a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Skype</tt><tt class="py-op">:</tt> </tt><a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Method Skype4Py.skype.ISkype.SendCommand()=Skype4Py.skype.ISkype-class.html#SendCommand"><a title="Skype4Py.skype.ISkype.SendCommand" class="py-name" href="#" onclick="return doclink('link-23', 'SendCommand', 'link-23');">SendCommand</a></tt><tt class="py-op">(</tt><tt id="link-24" class="py-name"><a title="Skype4Py.API.ICommand" class="py-name" href="#" onclick="return doclink('link-24', 'ICommand', 'link-2');">ICommand</a></tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-string">'NAME %s'</tt> <tt class="py-op">%</tt> <tt id="link-25" class="py-name"><a title="Skype4Py.chat.IChat.FriendlyNameSkype4Py.skype.ISkype.FriendlyName" class="py-name" href="#" onclick="return doclink('link-25', 'FriendlyName', 'link-21');">FriendlyName</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt></div><a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"> </tt><a name="_ISkypeAPI.GetForegroundWindow"></a><div id="_ISkypeAPI.GetForegroundWindow-def"><a name="L110"></a><tt class="py-lineno">110</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.GetForegroundWindow-toggle" onclick="return toggle('_ISkypeAPI.GetForegroundWindow');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.windows._ISkypeAPI-class.html#GetForegroundWindow">GetForegroundWindow</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.GetForegroundWindow-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.GetForegroundWindow-expanded"><a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"> <tt class="py-name">fhwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">GetForegroundWindow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">fhwnd</tt><tt class="py-op">:</tt> </tt><a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"> <tt class="py-comment"># awahlig (7.05.2008):</tt> </tt><a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"> <tt class="py-comment"># I've found at least one app (RocketDock) that had window style 8 set.</tt> </tt><a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"> <tt class="py-comment"># This is odd since windows header files do not contain such a style.</tt> </tt><a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"> <tt class="py-comment"># Doing message exchange while this window is a foreground one, causes</tt> </tt><a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"> <tt class="py-comment"># lockups if some operations on client UI are involved (for example</tt> </tt><a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"> <tt class="py-comment"># sending a 'FOCUS' command). Therefore, we will set our window as</tt> </tt><a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"> <tt class="py-comment"># the foreground one for the transmission time.</tt> </tt><a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">GetWindowLongA</tt><tt class="py-op">(</tt><tt class="py-name">fhwnd</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">16</tt><tt class="py-op">)</tt> <tt class="py-op">&</tt> <tt class="py-number">8</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt><a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"> <tt class="py-name">fhwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt><a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> <tt class="py-name">fhwnd</tt> </tt></div><a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"> </tt><a name="_ISkypeAPI.__Attach_ftimeout"></a><div id="_ISkypeAPI.__Attach_ftimeout-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.__Attach_ftimeout-toggle" onclick="return toggle('_ISkypeAPI.__Attach_ftimeout');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.windows._ISkypeAPI-class.html#__Attach_ftimeout">__Attach_ftimeout</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.__Attach_ftimeout-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.__Attach_ftimeout-expanded"><a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Wait</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt></div><a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"> </tt><a name="_ISkypeAPI.Attach"></a><div id="_ISkypeAPI.Attach-def"><a name="L127"></a><tt class="py-lineno">127</tt> <a class="py-toggle" href="#" id="_ISkypeAPI.Attach-toggle" onclick="return toggle('_ISkypeAPI.Attach');">-</a><tt class="py-line"> <tt class="py-keyword">def</tt> <a class="py-def-name" href="Skype4Py.API.windows._ISkypeAPI-class.html#Attach">Attach</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">Timeout</tt><tt class="py-op">=</tt><tt class="py-number">30000</tt><tt class="py-op">,</tt> <tt class="py-param">Wait</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt></div><div id="_ISkypeAPI.Attach-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="_ISkypeAPI.Attach-expanded"><a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">Skype</tt><tt class="py-op">:</tt> </tt><a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"> <tt class="py-keyword">return</tt> </tt><a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">isAlive</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt><a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"> <tt class="py-keyword">raise</tt> <tt id="link-26" class="py-name"><a title="Skype4Py.errors.ISkypeAPIError" class="py-name" href="#" onclick="return doclink('link-26', 'ISkypeAPIError', 'link-7');">ISkypeAPIError</a></tt><tt class="py-op">(</tt><tt class="py-string">'Skype API closed'</tt><tt class="py-op">)</tt> </tt><a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">DebugPrint</tt><tt class="py-op">(</tt><tt class="py-string">'->'</tt><tt class="py-op">,</tt> <tt class="py-string">'SkypeControlAPIDiscover'</tt><tt class="py-op">)</tt> </tt><a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"> <tt class="py-name">fhwnd</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">GetForegroundWindow</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt><a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"> <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt><a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-name">fhwnd</tt><tt class="py-op">:</tt> </tt><a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">SetForegroundWindow</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">hwnd</tt><tt class="py-op">)</tt> </tt><a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"> <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">windll</tt><tt class="py-op">.</tt><tt class="py-name">user32</tt><tt class="py-op">.</tt><tt class="py-name">SendMessageTimeoutA</tt><tt class="py-op">(</tt><tt id="link-27" class="py-name"><a title="Skype4Py.API.windows._HWND_BROADCAST" class="py-name" href="#" onclick="return doclink('link-27', '_HWND_BROADCAST', 'link-18');">_HWND_BROADCAST</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_SkypeControlAPIDiscover</tt><tt class="py-op">,</tt> </tt>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -