Come si fa a ottenere quella cartella usando un main di tipo WinMain?

mi spiego: devo ottenere la cartella in cui è messo il file lanciato. con un main di tipo

int main( int argc, char *argv[], char **envp )

oppure

int _tmain(int argc, _TCHAR* argv[])

il parametro argv[0] contiene il nome del file e quindi anche il suo path.

invece se si usa

int WinMain (HINSTANCE hInstance, HINSTANCE hPrevious, LPWSTR lpszCmdLine, INT iCmdShow)

il parametro lpszCmdLine contiene la linea di comando senza il nome del programma... come faccio a trovare il suo path?