Hi all, I have got this far till now - import win32gui, struct, array, string
OFN_ALLOWMULTISELECT=0x00000200 OFN_EXPLORER=0x00080000 def arrayToStrings(resultArray): """return list-of-strings corresponding to a char array, where each string is terminated by \000, and the whole list by two adjacent \000 bytes """ astr=resultArray.tostring() manyStrings=[] # perhaps a loop of string.split would be faster... while len(astr) and astr[0]!='\000': i=astr.index('\000') manyStrings.append(astr[:i]) astr=astr[i+1:] return manyStrings def szFrom(anarray): """return the string-pointer (sz) corresponding to a char array, 0 (null pointer) if no array """ if anarray: return anarray.buffer_info()[0] else: return 0 def arrayFrom(astring,additional=0): """return a char array built from a string, plus 0 or more \000 bytes as filler """ if not astring: astring='' return array.array('c',astring+additional*'\000') def arrayMulti(stringlist): """return a char array built from many strings, each separated by a \000 byte, and two \000's at the end """ return arrayFrom(string.join(stringlist,'\000'),2) def buildOfn(resultarray,filters=None,initdir=None,title=None, multisel=1,oldlook=0): """build an OPENFILENAME struct as a string, with several options and a given result-array for the string[s] that will result from the GetOpenFileName call """ flags=OFN_EXPLORER if multisel: flags=flags|OFN_ALLOWMULTISELECT if oldlook: flags=flags&~OFN_EXPLORER szfile,maxfile=resultarray.buffer_info() szfilter=szFrom(filters) szinitdir=szFrom(initdir) sztitle=szFrom(title) return struct.pack( "3i2P2iPiPi2PI2hPi2P", 76, 0, 0, # size, owner-hwnd, hinstance szfilter, 0, 0, 0, # filter, custom-filter, max-cust-filter,filter-index szfile, maxfile, # file, max-file 0, 0, # file-title, max-file-title szinitdir, sztitle, # initial-dir, dialog-title flags, 0, 0, # flags, file-offset, file-extension 0, # def-ext 0, 0, 0) # cust-data, func-hook, template-name def openNames(forsave=0,filters=None,initdir=None,title=None, initfile=None,multisel=1,oldlook=0): """return a list of filenames for open or save, given interactively by the user through a common-dialog; if more than 1 string is returned, the first is the directory, followed by the filenames. """ resultBuffer=arrayFrom(initfile,8192) title=arrayFrom(title) initdir=arrayFrom(initdir) filters=arrayMulti(filters) ofn=buildOfn(resultBuffer,filters,initdir,title,multisel,oldlook) if forsave: isok=win32gui.GetSaveFileName(ofn) else: isok=win32gui.GetOpenFileName(ofn) if not isok: return [] return arrayToStrings(resultBuffer) def _test(): return openNames( filters=('Texts and scripts','*.txt;*.py','Py stuff','*.py*') ) if __name__=='__main__': print _test() But hear the Dialogue_box stops and waits for the user to select a file. But Since I have the entire path of the file, How do I pass it to the file name to populate the box automatically instead of the user manually selecting a file. Any further help will be appreciated. -- http://mail.python.org/mailman/listinfo/python-list