Figured it out. I had the third parameter wrong it should have been
openUrl(QString) and not openURL();
If anyone is interested this is how I found the id, as you cannot know it apriori
DCOPClient *dcopClient = KApplication::dcopClient();
if (dcopClient) {
QCStringList csl = dcopClient->registeredApplications();
QCStringList::iterator it;
for(it = csl.begin();it != csl.end();++it) {
cstr = *it;
qDebug("looking at: " + cstr);
if (cstr.contains("konqueror")) {
qDebug("Found browser = " + cstr);
found = TRUE;
break;
}
}
qDebug("Num of registered dcop clinets = %d",csl.count());
qDebug("Send message");
if (found) {
status = dcopClient->send(cstr,
"konqueror-mainwindow#1",
"openURL(QString)",
"www.ibm.com");
qDebug("staus of send = %d",status);
....
Now only one problem remains. If konqueor is closed there seems to be a phantom version of it kep running. That is when you look at kdcop, one copy stays there, in fact when you start another konquer session it is this same one.
but if it is not shown, and you send it a DCOP message your SOL. So how do you make a konquer session visible ????