extern "C" __declspec(dllexport) bool GetWorkspaceName(LPTSTR buffer, int bufSize) { if (!g_app) return false; POSITION pos = g_app->GetFirstDocTemplatePosition(); while (pos) { CDocTemplate* dt = g_app->GetNextDocTemplate(pos); if (strcmp(dt->GetRuntimeClass()->m_lpszClassName, "CProjectWorkspaceDocTemplate") == 0) { POSITION docPos = dt->GetFirstDocPosition(); if (!docPos) break; CDocument* doc = dt->GetNextDoc(docPos); if (!doc) break; strcpy(buffer, doc->GetPathName()); return true; } } return false; }