Podi wrote in news:[EMAIL PROTECTED] in comp.lang.python:
> Rob Williscroft wrote: >> >> Google will usually find the documentation of anything in the >> Windows API however sometimes it also helps to add "msdn" to >> your search as in: > Yes, thank you. > > I found the function SetLocalTime or SetSystemTime to set the time from > MSDN http://msdn2.microsoft.com/en-us/library/ms724942.aspx. I am > having trouble passing parameter to the functions in Python. > Ok I see, you will probably need these 2 bits of the ctypes documentation: http://docs.python.org/lib/ctypes-structures-unions.html http://docs.python.org/lib/ctypes-pointers.html >From there on geting to this is farly straight forward: from ctypes import * from ctypes.wintypes import WORD class SYSTEMTIME(Structure): _fields_ = [ ( 'wYear', WORD ), ( 'wMonth', WORD ), ( 'wDayOfWeek', WORD ), ( 'wDay', WORD ), ( 'wHour', WORD ), ( 'wMinute', WORD ), ( 'wSecond', WORD ), ( 'wMilliseconds', WORD ), ] GetSystemTime = windll.kernel32.GetSystemTime st = SYSTEMTIME() GetSystemTime( pointer( st ) ) print st.wYear, st.wMonth, st.wDayOfWeek A bit more digging into the docs will get to this: prototype = WINFUNCTYPE( None, POINTER( SYSTEMTIME ) ) paramflags = (1, "lpSystemTime" ), GetSystemTime = prototype(("GetSystemTime", windll.kernel32), paramflags ) st = SYSTEMTIME() GetSystemTime( st ) print st.wYear, st.wMonth, st.wDayOfWeek Which will give a much better error message if you try to pass something other than a SYSTEMTIME, as well as wrapping the argument in pointer for you. Rob. -- http://www.victim-prime.dsl.pipex.com/ -- http://mail.python.org/mailman/listinfo/python-list