ÔÚpythonÖÐʹÓÃdllµ¼³öº¯Êý
×î½üÔÚѧϰpy£¬Êµ¼ùÊÇ£ºÐ£ÑéÖ¸¶¨ÎļþÊÇ·ñ´òÉÏÊý×ÖÇ©Ãû~pythonµÄ±ê×¼¿âÖÐûÓÐÌṩÕâÀຯÊý£¬Í¬Ê±ÔÚÍøÉÏËÑÁËÒ»ÏÂҲûÓÐÕÒµ½µÚÈý·½µÄ°üÓÐÌṩ£¬×îºóÕÒµ½ÁË¿ÉÒÔʹÓÃCrypt32.dllµÄµ¼³öº¯ÊýCryptQueryObject()¡£
Ê×ÏÈÎÒÏ£Íûpywin32µÄ°üÖÐ×îºÃÒÑ·â×°ÕâÑùµÄapi£¬½á¹û·¢ÏÖûÓÐ-_-!¡£ÓÚÊDz»µÃ²»×Ô¼º¶¯ÊÖ~pyÖе÷ÓÃdllµÄµ¼³öº¯Êý·½·¨±È½Ï¼òµ¥£º
from ctypes import *
CryptQueryObject=windll.LoadLibrary("Crypt32.dll").CryptQueryObject
¿ÉÊǽÓÏÂÀ´ÎÊÌâÀ´ÁË¡£¡£CryptQueryObjectÖеIJÎÊýÔõô´¦Àí¡£¡£
BOOL WINAPI CryptQueryObject(
__in DWORD dwObjectType,
__in const void* pvObject,
__in DWORD dwExpectedContentTypeFlags,
__in DWORD dwExpectedFormatTypeFlags,
__in DWORD dwFlags,
__out DWORD* pdwMsgAndCertEncodingType,
__out DWORD* pdwContentType,
__out DWORD* pdwFormatType,
__out HCERTSTORE* phCertStore,
__out HCRYPTMSG* phMsg,
__out const void** ppvContext
);
²ÎÊýÀàÐÍÖÐÓÐÊý×Ö£¬Ö¸Õ룬ºê¶¨Òå¡£pyÖжÔÓÚ²ÎÊýûÓÐÕâô·á¸»µÄ¶¨Ò壬ͬʱҲûÓк궨Ò壬ÓÚÊÇÐèҪת»»³ÉpyÄÜÈÏʶµÄ£¬ÕâÓÖҪʹÓÃctypesÁË£¬googleµ½ÕâÕÅ±í£¬²¢½«ºê¶¨Òå»»³ÉÊýÖµ£º½á¹ûÈçÏÂ
bResult=CryptQueryObject(1,\
c_wchar_p(path),\
1024,\
2,\
0,\
None,\
None,\
None,\
None,\
&n
Ïà¹ØÎĵµ£º
pythonÖÐÀàµÄÊôÐÔ
pythonÖеÄÀà½Ðclass object,ÀàµÄʵÀý½Ðinstance object.
Àà Class Objects
ÀàÓµÓÐÁ½ÖÖ²Ù×÷,1.ÀàÊôÐÔ attribute references 2.ʵÀý»¯instantiation
1.ÀàÊôÐÔ¾ÍÏ൱ÓÚרÊôÓÚÒ»¸öÀàµÄ±äÁ¿(¼´Ä³Ð©ÓïÑÔÖеÄÀàµÄ¾²Ì¬¹«¹²±äÁ¿static public),ʹÓ÷½·¨ÊÇ:ÀàÃû³Æ.ÀàÊôÐÔÃû³Æ
2.ʵÀý»¯ÔòÊÇ´´½¨Ò»¸öÀàµÄʵÀýµÄ· ......
ÓÃgcc±àÒëÁËÒ»¸öC++µ÷ÓÃpythonµÄ³ÌÐò£¬Õâ¸ö³ÌÐòÔÚVSÏÂÊǺÃÓõ쬶øÇÒûÓÐʹÓÃvsµÄÈκοâ
¿ÉÊǵ½ÁËgccϾÍÊÇÎÞ·¨Ê¹ÓÃ
ºóÀ´ÉÏÍø²éÁËÒ»ÏÂ×ÊÁϲÅÖªµÀ£¬ÊÇÒòΪclÓëgccµÄÔËÐÐʱ¿â²»Í¬¡£
´ò¿ªcmd´°¿Ú£¬ÊäÈëpython¾Í¿ÉÒÔ¿´µ½
Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32
Type " ......
PythonÖ§³Öascii×Ö·û´®£¬unicode×Ö·û´®£¬ÒÔ¼°¸÷ÖÖ×Ö·û¼¯£¬ÄÇôËüÃǵ½µ×¸÷ÊÇʲô¸ÅÄÏ໥֮¼ä´æÔÚºÎÖÖ¹ØÏµÄØ£¿
ÔÚPythonÖУ¬ascii×Ö·û´®£¬¼´strÀàÐ͵ÄÖµ£¬¿ÉÄÜÓÃÀ´±íʾÈÎÒâµÄÒ»¿é´æ´¢¿Õ¼ä£¬ÄÇôҲ¾ÍÊÇ˵£¬Õâ¸ö×Ö·û´®ÄÚ²¿¿ÉÒÔÊÇÈκÎÖµ£¬ÀýÈ磺¿É¼û×Ö·û×é³ÉµÄ×Ö·û´®£¬»òÕßÒ»¶Î¶þ½øÖÆÊý¾ÝµÈ¡£unicode×Ö·û´®£¬¼´unicodeÀàÐ굀 ......
Èç¹ûpythonµ÷ÓÃÍⲿ³ÌÐò£¬ÐèÒªÖ±½ÓץȥÃüÁîÐеÄÊä³ö£¬ÓÐʲôºÃµÄ°ì·¨ÄØ£¿
ÕâÀïÎÒÃÇÐèÒªÓõ½ os.popen Õâ¸ö¹ÜµÀ£¬È»ºóÓà read¡¢readline»òÕßreadlinesÀ´¶ÁÈ¡ÃüÁîÐÐÊä³ö
#ÐèÒªÖ´ÐеÄÃüÁî
strCommand = 'xxxxxxxxxxxxxxxxx'
#ÓÃpopenÀ´Ö´ÐÐÃüÁîÐÐ
oStdout = os.popen(strCommand)
#¼ÙÉèÊä³öµÄÄÚÈÝÖ»ÓÐÒ»ÐÐ
strStdout = ......
MakoÊÇʲô£¿MokoÊÇPythonдµÄÒ»¸öÄ£°å¿â£¬Python¹ÙÍøpython.orgÓõľÍÊÇËüŶ¡£ÆäËû·Ï»°Ò²¾Í²»ÀÛ׸ÁË£¬Ö±½ÓÀ´µã´úÂ룬·½±ãÔĶÁÓëÁ˽â°Ñ¡£
(Mako¹ÙÍøµØÖ·£ºhttp://www.makotemplates.org/ £¬¿ÉÒÔÏÂÔØ°²×°°ü£¬ÍƼöʹÓÃeasy_install°²×°)
from mako.template import Template
mytemplate = Template("hello world!") ......