锘??xml version="1.0" encoding="utf-8" standalone="yes"?>在线看片欧美,激情欧美一区二区三区,国产精品久久久久久久浪潮网站http://m.shnenglu.com/bigsml/category/7907.htmlzh-cnSun, 26 Oct 2008 11:03:56 GMTSun, 26 Oct 2008 11:03:56 GMT60Python 鎿嶄綔榛戣帗(Blackberry)閫氫俊褰?/title><link>http://m.shnenglu.com/bigsml/archive/2008/10/03/63207.html</link><dc:creator>娉℃場鐗?/dc:creator><author>娉℃場鐗?/author><pubDate>Fri, 03 Oct 2008 14:18:00 GMT</pubDate><guid>http://m.shnenglu.com/bigsml/archive/2008/10/03/63207.html</guid><wfw:comment>http://m.shnenglu.com/bigsml/comments/63207.html</wfw:comment><comments>http://m.shnenglu.com/bigsml/archive/2008/10/03/63207.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.shnenglu.com/bigsml/comments/commentRss/63207.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/bigsml/services/trackbacks/63207.html</trackback:ping><description><![CDATA[涓轟簡緇欓粦鑾撳鍏Phone 鐨勯氫俊褰?contacts) , 鍙兘鍒╃敤榛戣帗鐨勬闈㈢鐞嗗櫒, 閫氳繃ipd 鏉ョ淮鎶? <br>浣嗘槸鍙戠幇 ABC Amber BlackBerry Converter 鍙兘杞崲鑰屾棤娉曚慨鏀? IPDManager 鍙兘緇存姢閾冨0鍜岄煶涔愬暐鐨?(  鍙兘鑷繁鍐欎簡涓皬紼嬪簭 <br><br>ipd 鐨勬牸寮忓彲浠ュ湪 <a >http://na.blackberry.com/eng/developers/resources/journals/jan_2006/ipd_file_format.jsp</a> 榪欓噷鎵懼埌, 鍚庨潰鏄唬鐮? 鍙槸鐢熸垚datablock 鍒楄〃, 榪橀渶瑕侀澶栨嫹璐? 鎿嶄綔鏃舵渶濂藉彧鍚屾閫氫俊褰? <br><br>涓嬮潰鏄唬鐮?<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">#</span><span style="COLOR: #008000">!/usr/local/bin/python2.5 </span><span style="COLOR: #008000"><br>#</span><span style="COLOR: #008000">-*- coding: gbk -*-</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">from</span><span style="COLOR: #000000"> struct </span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> <br><br></span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> BBFile:    <br>    </span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">__init__</span><span style="COLOR: #000000">(self):<br>        </span><span style="COLOR: #0000ff">pass</span><span style="COLOR: #000000"><br>        <br>    </span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000"> _contactblock(self, name, phone, uid):<br>        s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">''</span><span style="COLOR: #000000"><br>        </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> name </span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        name </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> name.encode(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">utf-16be</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br>        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><HB</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, len(name)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0xa0</span><span style="COLOR: #000000">)<br>        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><B</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0x01</span><span style="COLOR: #000000">) </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> name<br>        </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> ff * 8 </span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><HB</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0x54</span><span style="COLOR: #000000">)<br>        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">\xff</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000"><br>        </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> uid </span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><HBI</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0x55</span><span style="COLOR: #000000">, uid)<br>        </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> phone</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        phone </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> phone.encode(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">gbk</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br>        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><HB</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, len(phone)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">0x08</span><span style="COLOR: #000000">)<br>        s </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> phone </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> </span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">\x00</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000"><br>        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> s <br>    <br>    </span><span style="COLOR: #0000ff">def</span><span style="COLOR: #000000"> save(self, filename, us, dbID</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0, dbVer</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0):<br>        hf </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> open(filename, </span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">w+b</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">)<br>        rs, uid </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">, </span><span style="COLOR: #000000">363797835</span><span style="COLOR: #000000"> </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> 鍒濆鍊?/span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> u </span><span style="COLOR: #0000ff">in</span><span style="COLOR: #000000"> us:<br>            s </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> self._contactblock(u[0], u[</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">], uid)<br>            h </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> pack(</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000"><HIBHI</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, dbID, len(s)</span><span style="COLOR: #000000">+</span><span style="COLOR: #000000">7</span><span style="COLOR: #000000">, dbVer, rs, uid)<br>            hf.write(h </span><span style="COLOR: #000000">+</span><span style="COLOR: #000000"> s)<br>            uid </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">    </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> </span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">            rs  </span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">    </span><span style="COLOR: #008000">#</span><span style="COLOR: #008000"> </span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">        hf.close()<br>        <br></span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> </span><span style="COLOR: #800080">__name__</span><span style="COLOR: #000000">==</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">__main__</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">:<br>    bb </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> BBFile()<br>    us </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> [ (u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">瀹濆疂1</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">13888888888</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">),(u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">瀹濆疂2</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">13888888888</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">),(u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">瀹濆疂3</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">, u</span><span style="COLOR: #800000">'</span><span style="COLOR: #800000">13888888888</span><span style="COLOR: #800000">'</span><span style="COLOR: #000000">),  ]    <br>    bb.save(</span><span style="COLOR: #800000">"</span><span style="COLOR: #800000">bb.ipd</span><span style="COLOR: #800000">"</span><span style="COLOR: #000000">, us, 0, 0)<br></span></div> 1. 淇濆瓨鎴愭枃浠跺氨鍙互鐩存帴榪愯浜?) <br>2. 濡傛灉瑕佺湡鐨勭敓鎴愬彲浠ュ鍏b 鐨勬枃浠剁殑璇? 瑕佷嬌鐢ㄩ珮綰?> 鍙悓姝ラ氳褰? 鐒跺悗灝嗚繖涓枃浠剁敓鎴愮殑鍐呭鏀懼湪瀵煎嚭鏂囦歡鐨勫ご鐨勫悗闈? 榪樻槸鏈夌偣楹葷儲.... 鏈夌┖鍋氫釜鍏ㄨ嚜鍔ㄧ殑 鍛靛懙   <br><br>鍥犱負(fù)鍙槸嫻嬭瘯, 鎵浠ュ緢澶氱‖緙栫爜浜?)    <br><br> <img src ="http://m.shnenglu.com/bigsml/aggbug/63207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/bigsml/" target="_blank">娉℃場鐗?/a> 2008-10-03 22:18 <a href="http://m.shnenglu.com/bigsml/archive/2008/10/03/63207.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍦?C++ 涓嬌鐢?Python script http://m.shnenglu.com/bigsml/archive/2008/08/14/58859.html娉℃場鐗?/dc:creator>娉℃場鐗?/author>Thu, 14 Aug 2008 09:55:00 GMThttp://m.shnenglu.com/bigsml/archive/2008/08/14/58859.htmlhttp://m.shnenglu.com/bigsml/comments/58859.htmlhttp://m.shnenglu.com/bigsml/archive/2008/08/14/58859.html#Feedback3http://m.shnenglu.com/bigsml/comments/commentRss/58859.htmlhttp://m.shnenglu.com/bigsml/services/trackbacks/58859.html鎯寵鍦╟++ 涓祵鍏cript 浠g爜, 闄や簡鑷繁鍐欒剼鏈紩鎿庡, lua, python 閮藉彲浠ュ湪c++ 涓嬌鐢? 鍙﹀ MonoBind, AngelScript library 閮芥槸涓浜沜++ script library, 鍙互宓屽叆鍒癱++ 涓嬌鐢?.
浠婂ぉ鍦╟++ 涓瘯鐫宓屽叆 python 浠g爜 (紺轟緥浠g爜鍦?Python-2.5.2\Demo\embed\ 涓?

#include <Python.h>
int main(int argc, char *argv[])
{
  
// Py_NoSiteFlag = 1;
  
// Py_SetPythonHome("D:\\usr\\Python"); // PYTHONHOME

  Py_Initialize();
  PyRun_SimpleString(
"from time import time,ctime\n"
                     
"print 'Today is',ctime(time())\n");
  Py_Finalize();
  
return 0;
}

鍦ㄨ繍琛屾椂鍙兘浼?xì)漶旂敓绫讳?'import site' failed; use -v for traceback 鐨勯敊璇? 鍘熷洜鏄痯ython 鍦╥mport module 鐨勬椂鍊欑殑璺緞闂. 鏈?縐嶆柟娉曞彲浠ヨВ鍐?浠ュ墠閫氳繃璁劇疆鐜鍙橀噺 PYTHONPATH 濂藉儚鍦?.5 宸茬粡鏃犳晥浜?.
0. 鍙栨秷娉ㄩ噴 Py_NoSiteFlag = 1;
榪欎釜鍙槸鍙栨秷import site , 褰撶劧濡傛灉鍦ㄤ唬鐮佷腑瑕乮mport 鍟ョ殑璇? 榪樻槸浼?xì)鍑虹幇閿欒鐨?
a. 璁劇疆鐜鍙橀噺 PYTHONHOME = D:\usr\Python 
b. 鍦ㄨ皟鐢?Py_Initialize 涔嬪墠璋冪敤鍑芥暟
Py_SetPythonHome("D:\\usr\\Python");  // 鍙傛暟鏄痯ython 鐨勫畨瑁呯洰褰?

2. 鍏朵粬涓浜涙湁鐢ㄧ殑璧勬簮
Python/C API Reference Manual (API 鍙傝? ,  Extending and Embedding the Python Interpreter (鎵╁睍鍙婂祵鍏ython瑙i噴鍣? 涓昏璇存槑浜嗗浣曟墿灞昉ython, 緇橮ython 鍐欐墿灞? 鍏朵腑 5. Embedding Python in Another Application  涓绔犺榪頒簡鍦–++涓祵鍏?璋冪敤Python 浠g爜 )

浣跨敤C/C++鎵╁睍Python  瀵規(guī)枃 Extending and Embedding the Python Interpreter 浣滀簡綺劇畝, 寰堜笉閿欑殑涓綃囨枃绔? 浣嗘槸璺寵繃浜嗕竴浜涘熀紜 .

Building Hybrid Systems with Boost.Python 浠嬬粛浜嗕嬌鐢╞oost.python 鏂逛究python 鎻掍歡寮鍙? python緇戝畾c++紼嬪簭 鏄叾涓枃鐗堟湰.

Embedding Python in Multi-Threaded C/C++ Applications 璁蹭簡c++鍦ㄥ綰跨▼鐜濡備綍浣跨敤Python , 鏂?nbsp;C++澶氱嚎紼嬩腑璋冪敤python api鍑芥暟 鎻愪緵浜嗕竴涓綰跨▼鐨勫皝瑁?

SCXX - A Simple Python/C++ API
http://davidf.sjsoft.com/mirrors/mcmillan-inc/scxx.html

C++鎵╁睍鍜屽祵鍏ython搴旂敤 (浠嬬粛浜嗕竴浜汸ython/C API 鍑芥暟, 浠ュ強ext 渚嬪瓙, 涓鑸埇)
http://hi.baidu.com/yunsweet/blog/item/20b08aeebaa2b1282cf534c7.html


3. Python 澶氱嚎紼嬬殑浣跨敤

zz http://blog.csdn.net/liguangyi/archive/2007/06/20/1659697.aspx 
浠婂ぉ鐪嬩簡榪戜竴澶╁叧浜庡綰跨▼鐨勫簲鐢ㄤ腑錛屽浣曞畨鍏ㄨ皟鐢╬ython鏂歸潰鐨勮祫鏂欙紝寮濮嬬殑鏃跺欑湅鐨勭畝鐩村ご澶у鏂楋紝琚玴ython璇█鐨勫叏灞閿?Global Interpreter Lock)銆佺嚎紼嬬姸鎬?Thread State )絳夐兘鏈夌偣緇曟檿浜嗭紝鍚庢潵緇忚繃鍚勬柟闈㈡枃绔犲拰甯姪鏂囨。鐨勭浉浜掑弬鑰冿紝鍙戠幇瀵逛簬2.4/2.5鐗堟湰錛屾彁渚涗簡PyGILState_Ensure, PyGILState_Release錛屽搸錛岃繖涓嬪彲鏂逛究澶у彂浜嗐?/p>

涓銆侀鍏堝畾涔変竴涓皝瑁呯被錛屼富瑕佹槸淇濊瘉PyGILState_Ensure, PyGILState_Release閰嶅浣跨敤錛岃屼笖榪欎釜綾繪槸鍙互宓屽浣跨敤鐨勩?/p>

#include <python.h>

class PyThreadStateLock
{
public:
    PyThreadStateLock(void)
    {
        state = PyGILState_Ensure( );
    }

    ~PyThreadStateLock(void)
    {
         PyGILState_Release( state );
    }
private:
    PyGILState_STATE state;
};


浜屻佸湪涓葷嚎紼嬩腑錛岃繖鏍峰鐞?/p>

    // 鍒濆鍖?br>    Py_Initialize();
    // 鍒濆鍖栫嚎紼嬫敮鎸?br>    PyEval_InitThreads();
    // 鍚姩瀛愮嚎紼嬪墠鎵ц錛屼負(fù)浜嗛噴鏀綪yEval_InitThreads鑾峰緱鐨勫叏灞閿侊紝鍚﹀垯瀛愮嚎紼嬪彲鑳芥棤娉曡幏鍙栧埌鍏ㄥ眬閿併?br>    PyEval_ReleaseThread(PyThreadState_Get());
  
    // 鍏朵粬鐨勫鐞嗭紝濡傚惎鍔ㄥ瓙綰跨▼絳?br>    ......
      
    // 淇濊瘉瀛愮嚎紼嬭皟鐢ㄩ兘緇撴潫鍚?br>    PyGILState_Ensure();
    Py_Finalize();
    // 涔嬪悗涓嶈兘鍐嶈皟鐢ㄤ換浣昿ython鐨凙PI

涓夈佸湪涓葷嚎紼嬶紝鎴栬呭瓙綰跨▼涓紝璋冪敤python鏈韓鍑芥暟鐨勯兘閲囩敤濡備笅澶勭悊

    {
        class PyThreadStateLock PyThreadLock;
        // 璋冪敤python鐨凙PI鍑芥暟澶勭悊
        ......
    }

鍛靛懙錛岀湅榪欐牱鏄惁闈炲父綆鍗曚簡銆?/p>


鍙﹀榪樻湁涓や釜鍜屽叏灞閿佹湁鍏崇殑瀹忥紝Py_BEGIN_ALLOW_THREADS 鍜?Py_END_ALLOW_THREADS銆傝繖涓や釜瀹忔槸涓轟簡鍦ㄨ緝闀挎椂闂寸殑C鍑芥暟璋冪敤鍓嶏紝涓存椂閲婃斁鍏ㄥ眬閿侊紝瀹屾垚鍚庨噸鏂拌幏鍙栧叏灞閿侊紝浠ラ伩鍏嶉樆濉炲叾浠杙ython鐨勭嚎紼嬬戶緇繍琛屻傝繖涓や釜瀹忓彲浠ヨ繖鏍瘋皟鐢?/p>

    {
        class PyThreadStateLock PyThreadLock;
        // 璋冪敤python鐨凙PI鍑芥暟澶勭悊
        ......

        Py_BEGIN_ALLOW_THREADS
        // 璋冪敤闇瑕侀暱鏃墮棿鐨凜鍑芥暟
        ......
        Py_END_ALLOW_THREADS

        // 璋冪敤python鐨凙PI鍑芥暟澶勭悊
        ......
    }

4. 鍙兘鐨勯敊璇強瑙e喅
a. 鍦╲s 200x 涓?debug 妯″紡鍑虹幇閾炬帴闂
extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_Dealloc referenced in function _PySwigObject_format
extmodule.obj : error LNK2019: unresolved external symbol __imp___Py_NegativeRefcount referenced in function _PySwigObject_format
extmodule.obj : error LNK2001: unresolved external symbol __imp___Py_RefTotal
extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugFree referenced in function _PySwigObject_dealloc
extmodule.obj : error LNK2019: unresolved external symbol __imp___PyObject_DebugMalloc referenced in function _PySwigObject_New
extmodule.obj : error LNK2019: unresolved external symbol __imp__Py_InitModule4TraceRefs referenced in function _init_extmodule

涓昏鏄洜涓?Py_DEBUG/Py_TRACE_REFS 寮曡搗, 淇敼 Python\include 涓嬬殑 pyconfig.h, object.h 涓や釜鏂囦歡灝辮浜?... 璇﹁ http://www.nabble.com/link-error-in-debug-mode-td3126668.html 



]]>
浣跨敤 python 鍐?COM http://m.shnenglu.com/bigsml/archive/2008/08/14/58851.html娉℃場鐗?/dc:creator>娉℃場鐗?/author>Thu, 14 Aug 2008 09:02:00 GMThttp://m.shnenglu.com/bigsml/archive/2008/08/14/58851.htmlhttp://m.shnenglu.com/bigsml/comments/58851.htmlhttp://m.shnenglu.com/bigsml/archive/2008/08/14/58851.html#Feedback0http://m.shnenglu.com/bigsml/comments/commentRss/58851.htmlhttp://m.shnenglu.com/bigsml/services/trackbacks/58851.html1. com 璋冪敤紺轟緥(浣跨敤Windows Media Player 鎾斁闊充箰)
from win32com.client import Dispatch
mp 
= Dispatch("WMPlayer.OCX")
tune 
= mp.newMedia("C:/WINDOWS/system32/oobe/images/title.wma")
mp.currentPlaylist.appendItem(tune)
mp.controls.play()

2. com server 鐨勭紪鍐?br>涓昏鍙互鍙傝?<<Python Programming on Win32 涔?Chapter 12 Advanced Python and COM http://oreilly.com/catalog/pythonwin32/chapter/ch12.html >>
紺轟緥(鍒嗗壊瀛楃涓?
- 浠g爜
class PythonUtilities:
    _public_methods_ 
= [ 'SplitString' ]
    _reg_progid_ 
= "PythonDemos.Utilities"
    
# NEVER copy the following ID 
    # Use "print pythoncom.CreateGuid()" to make a new one.
    _reg_clsid_ = "{41E24E95-D45A-11D2-852C-204C4F4F5020}"
    
    
def SplitString(self, val, item=None):
        
import string
        
if item != None: item = str(item)
        
return string.split(str(val), item)
 
# Add code so that when this script is run by
#
 Python.exe, it self-registers.
if __name__=='__main__':
    
print "Registering COM server"
    
import win32com.server.register
    win32com.server.register.UseCommandLine(PythonUtilities)

- 娉ㄥ唽/娉ㄩ攢Com

Command-Line Option

Description

 

The default is to register the COM objects.

--unregister

Unregisters the objects. This removes all references to the objects from the Windows registry.

--debug

Registers the COM servers in debug mode. We discuss debugging COM servers later in this chapter.

--quiet

Register (or unregister) the object quietly (i.e., don't report success).


- 浣跨敤COM
鍙互鍦╬ython 鍛戒護(hù)琛屼笅榪愯
>>> import win32com.client
>>> s = win32com.client.Dispatch("PythonDemos.Utilities")
>>> s.SplitString("a,b,c"",")
((u
'a', u'a,b,c'),)
>>>

3. python server com 鍘熺悊
鍏跺疄鍦ㄦ敞鍐岃〃涓煡鎵懼埌python com 鐨勫疄鐜板唴騫?
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}]
@
="PythonDemos.Utilities"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\Debugging]
@
="0"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\Implemented Categories\{B3EF80D0-68E2-11D0-A689-00C04FD658FF}]

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\InprocServer32]
@
="pythoncom25.dll"
"ThreadingModel"="both"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\LocalServer32]
@
="D:\\usr\\Python\\pythonw.exe \"D:\\usr\\Python\\lib\\site-packages\\win32com\\server\\localserver.py\" {41E24E95-D45A-11D2-852C-204C4F4F5020}"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\ProgID]
@
="PythonDemos.Utilities"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\PythonCOM]
@
="PythonDemos.PythonUtilities"

[HKEY_CLASSES_ROOT\CLSID\{41E24E95-D45A-11D2-852C-204C4F4F5020}\PythonCOMPath]
@
="D:\\"

inproc server 鏄氳繃pythoncom25.dll 瀹炵幇
local server 閫氳繃localserver.py 瀹炵幇
com 瀵瑰簲鐨刾ython 婧愭枃浠朵俊鎭湪 PythonCOMPath & PythonCOM

4. 浣跨敤闂
鐢≒HP 鎴栬?c 璋冪敤com 鐨勬椂鍊?br>
<?php
$com = new COM("PythonDemos.Utilities");
$rs = $com->SplitString("a b c");
foreach($rs as $r)
    
echo $r."\n";
?>
浼?xì)纰板堫C笅闈㈢殑涓浜涢敊璇?
pythoncom error: PythonCOM Server - The 'win32com.server.policy' module could not be loaded.
<type 'exceptions.ImportError'>: No module named server.policy pythoncom error: CPyFactory::CreateInstance failed to create instance. (80004005)


鍙互閫氳繃2縐嶆柟寮忚В鍐?
a. 璁劇疆鐜 PYTHONHOME = D:\usr\Python
鍙﹀鍦╟ ++ 浣跨敤python 鐨勬椂鍊? 濡傛灉import module 鍑虹幇閿欒 'import site' failed; use -v for traceback 鐨勮瘽, 涔熷彲浠ラ氳繃璁劇疆榪欎釜鍙橀噺瑙e喅.

b. 涓篶om 鐢熶駭exe, dll 鍙墽琛屾枃浠? setup.py 浠g爜濡備笅 :
from distutils.core import setup 
import py2exe 

import sys 
import shutil 

# Remove the build tree ALWAYS do that! 
shutil.rmtree("build", ignore_errors=True) 

# List of modules to exclude from the executable 
excludes = ["pywin""pywin.debugger""pywin.debugger.dbgcon""pywin.dialogs""pywin.dialogs.list"

# List of modules to include in the executable 
includes = ["win32com.server"

# ModuleFinder can't handle runtime changes to __path__, but win32com uses them 
try
    
# if this doesn't work, try import modulefinder 
    import py2exe.mf as modulefinder 
    
import win32com 
    
    
for p in win32com.__path__[1:]: 
        modulefinder.AddPackagePath(
"win32com", p) 
    
    
for extra in ["win32com.shell""win32com.server"]: #,"win32com.mapi" 
        __import__(extra) 
        m 
= sys.modules[extra] 
        
for p in m.__path__[1:]: 
            modulefinder.AddPackagePath(extra, p) 

except ImportError: 
    
# no build path setup, no worries. 
    pass 

# Set up py2exe with all the options 
setup( 
    options 
= {"py2exe": {"compressed"2
                          
"optimize"2
                          
#"bundle_files": 1, 
                          "dist_dir""COMDist"
                          
"excludes": excludes, 
                          
"includes": includes}}, 
    
# The lib directory contains everything except the executables and the python dll. 
    # Can include a subdirectory name. 
    zipfile = None, 
    com_server 
= ['PythonDemos'], # 鏂囦歡鍚?!
    ) 


ref:
http://oreilly.com/catalog/pythonwin32/chapter/ch12.html 
http://blog.donews.com/limodou/archive/2005/09/02/537571.aspx 


]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久另类ts人妖一区二区| av成人福利| 久久综合狠狠综合久久综青草| 中日韩午夜理伦电影免费| 日韩视频在线观看| 亚洲在线成人| 久久久久这里只有精品| 猛男gaygay欧美视频| 欧美韩日一区二区三区| 国产精品高潮呻吟久久av黑人| 国产精品久久久久久久久久免费看| 国产精品欧美在线| 亚洲婷婷综合久久一本伊一区| 亚洲午夜精品在线| 久久九九热免费视频| 麻豆91精品91久久久的内涵| 欧美99在线视频观看| 国产精品v欧美精品v日本精品动漫 | 国产精一区二区三区| 国产精品久久久久久久久搜平片 | 欧美一区二区三区婷婷月色| 久久亚洲综合色| 亚洲国产成人在线播放| 欧美成人蜜桃| 亚洲夫妻自拍| 亚洲乱码一区二区| 午夜精品国产| 免费日本视频一区| 国产精品jizz在线观看美国 | 久久蜜臀精品av| 免费中文字幕日韩欧美| 亚洲国产精品成人一区二区| 日韩一区二区精品葵司在线| 亚洲一区二区在线免费观看| 新67194成人永久网站| 久久久综合网| 欧美视频免费看| 国产精品久久久| 狠狠狠色丁香婷婷综合激情| 亚洲人屁股眼子交8| 亚洲欧美日韩国产中文| 蜜臀av一级做a爰片久久| 99精品国产高清一区二区 | 亚洲激情视频在线观看| 中文av字幕一区| 欧美伊人影院| 亚洲精品日本| 久久嫩草精品久久久精品一| 欧美视频1区| 91久久国产综合久久91精品网站| 亚洲视频免费| 欧美成人午夜剧场免费观看| 亚洲一区二区三区精品动漫| 可以免费看不卡的av网站| 欧美日韩中国免费专区在线看| 国内精品久久久久影院优 | 日韩亚洲综合在线| 中文在线不卡| 欧美一区二区三区在| 欧美中文字幕| 99亚洲视频| 欧美精品福利在线| 亚洲第一区在线| 久久精品视频播放| 亚洲色图自拍| 欧美韩国日本综合| 亚洲国产精品久久久久秋霞蜜臀 | 一本一本a久久| 久久本道综合色狠狠五月| 久久精品最新地址| 亚洲成色www久久网站| 亚洲区一区二| 亚洲欧美综合一区| 女仆av观看一区| 国产精品一页| 欧美日韩色一区| 亚洲黄页视频免费观看| 美女精品在线观看| 久久久av网站| 在线播放日韩| 欧美成人亚洲成人| 久久日韩精品| 亚洲国产经典视频| 亚洲国产精品va在看黑人| 免费在线亚洲| 亚洲精品一区二区三区在线观看| 亚洲承认在线| 欧美黄色影院| 一区二区三区日韩欧美精品| 久久精品国产亚洲高清剧情介绍| 亚洲精品一区二区三区av| 久久成人综合网| 国产精品久久| 国产婷婷色一区二区三区在线| 一本一本久久a久久精品综合妖精| 欧美激情第8页| 欧美理论片在线观看| 一区二区免费看| 亚洲综合精品| 在线看国产一区| 国内精品伊人久久久久av一坑| 性亚洲最疯狂xxxx高清| 亚洲一区久久| 黄色精品一区| 亚洲激情图片小说视频| 欧美日韩另类在线| 午夜免费在线观看精品视频| 欧美尤物一区| 亚洲日本视频| 中文在线资源观看视频网站免费不卡| 国产精品捆绑调教| 欧美a级大片| 国产精品高潮呻吟久久av黑人| 国产亚洲欧洲997久久综合| 久色成人在线| 欧美精品在线一区| 久久精品亚洲国产奇米99| 午夜日韩电影| 1000部国产精品成人观看 | 亚洲第一精品电影| 欧美私人啪啪vps| 亚洲欧美国产毛片在线| 久久人人爽人人爽爽久久| 久久精品人人爽| 亚洲国产天堂久久综合| 亚洲无亚洲人成网站77777| 精品成人在线视频| 一区二区三区高清在线观看| 精东粉嫩av免费一区二区三区| 亚洲日本欧美| 精品电影在线观看| 亚洲一级特黄| 亚洲美女福利视频网站| 久久黄色小说| 欧美制服丝袜| 国产精品国产a级| 亚洲美女视频网| 亚洲区国产区| 久久蜜臀精品av| 久久久国产精品一区| 欧美亚州韩日在线看免费版国语版| 免费美女久久99| 国语精品中文字幕| 性欧美8khd高清极品| 1204国产成人精品视频| 日韩一级网站| 一区二区三区在线观看欧美| 午夜精品久久久久久久久久久| 久久精品国产欧美亚洲人人爽 | 国产日韩精品一区二区| 亚洲毛片av| 日韩午夜免费视频| 欧美大片免费| 欧美中文在线免费| 欧美日韩在线播放三区| 免费在线观看精品| 一区二区三区自拍| 久久精品青青大伊人av| 久久精品观看| 国产在线成人| 久久精品日产第一区二区| 久久福利精品| 欧美三区在线视频| 免费欧美日韩国产三级电影| 在线电影国产精品| 葵司免费一区二区三区四区五区| 久色婷婷小香蕉久久| 亚洲成人在线网| 欧美大片在线观看| 久久欧美肥婆一二区| 国产精品裸体一区二区三区| 欧美在线播放视频| 国产精品久久久91| 欧美在线视频观看免费网站| 久久青草欧美一区二区三区| 狠狠色噜噜狠狠狠狠色吗综合| 久久亚洲图片| 亚洲激情亚洲| 国产亚洲精品aa午夜观看| 午夜老司机精品| 久久久久久午夜| 最新成人av网站| 国产精品乱码一区二区三区| 午夜亚洲性色福利视频| 亚洲精品久久久久久一区二区 | 亚洲欧洲美洲综合色网| 亚洲一区二区高清| 国产真实精品久久二三区| 免费h精品视频在线播放| 日韩视频一区二区三区| 亚洲女同同性videoxma| 国内外成人免费激情在线视频网站 | 亚洲另类春色国产| 国产精品外国| 美国十次了思思久久精品导航| 日韩网站在线看片你懂的| 久久久亚洲人| 亚洲欧美国产毛片在线| 亚洲高清视频在线| 国产精品亚洲不卡a|