I run following code and get dialog box for entering password.
LNNotesSession session;
LNDatabase db;
LNSetThrowAllErrors(TRUE);
LNFormArray forms;
LNIDFile idfile;
LNCertifier cert;
LNDatetime expired;
try {
session.Init();
session.GetDatabase("names.nsf", &db, "ipanema");
db.Open();
db.GetForms(&forms);
for (int i = 0; i < forms.GetCount(); i++) {
LNForm form = forms[i];
form.Open();
LNString name = form.GetName();
form.Close();
}
db.Close();
session.Term();
} catch(LNSTATUS error) {
char errorBuf[LN_ERROR_MESSAGE_LENGTH];
LNGetErrorMessage(error, errorBuf);
MessageBox(NULL, errorBuf, "Lotus Notes Errors", MB_OK);
}

How can I enter password by code instead of manual?
The nextpwd option could help. Described here.