Hi, Trying to run an unsupported application, I get the following error: fixme:exec:ShellExecuteExW32 flags ignored: 0x00000140 and the application gives me C:\windows\temp\MMIsnst, access denied... so two bits are set by the application, requesting MASK_FLAG_DDEWAIT and MASK_NOCLOSEPROCESS ... as far as I understand DDEWAIT, it should be trivial to implement, as it is just some kind of sleep() ... even with no C experience, I should be able to do this.. what about NOCLOSEPROCESS ? .... hmmm, crawling the web, it turns out that the writer of this application (MobileMaster.exe) probably made a call to a RunWait function ... in a language called LibertyBasic ... am I right ? http://libertybasic.conforums.com/index.cgi?board=tips&num=1079874405&action... sub RunWait file$, para$, dir$ ' sub to open an application or file ' ' Usage: ' call RunWait {filename}, {parameters}, {startfolder} ' ' filename ...... full path to file or executable ' parameters .... if file is a document this should be empty ' if file is an executable any parameters ' that should be passed to it ' startfolder ... initial folder, can be empty SEE.MASK.NOCLOSEPROCESS = hexdec("40") SEE.MASK.FLAG.DDEWAIT = hexdec("100") struct ExecInfo, _ Size as long, _ fMask as long, _ hwnd as long, _ Verb$ as ptr, _ File$ as ptr, _ Parameters$ as ptr, _ Directory$ as ptr, _ Show as long, _ InstApp as long, _ IDList as long, _ Class$ as ptr, _ keyClass as long, _ HotKey as long, _ Icon as long, _ Process as long ExecInfo.fMask.struct = SEE.MASK.NOCLOSEPROCESS or SEE.MASK.FLAG.DDEWAIT ExecInfo.File$.struct = file$ + chr$(0) ExecInfo.Parameters$.struct = para$ + chr$(0) ExecInfo.Directory$.struct = dir$ + chr$(0) ExecInfo.Show.struct = _SW_SHOWNORMAL ExecInfo.Size.struct = len(ExecInfo.struct) calldll #shell32, "ShellExecuteExA", _ ExecInfo as struct, _ result as long if result <> 0 then Handle = ExecInfo.Process.struct Milliseconds = _INFINITE calldll #kernel32, "WaitForSingleObject", _ Handle as long, _ Milliseconds as long, _ result as long end if end sub