Operating System Projects Using Windows NT by Gary Nutt
documents how to open up secondary applications within
a C++ program. Visual Basic is a bit easier, but if you may have to "setdirty" to make the applications stay open after the visual basic program itself terminates.
Very interesting. I wanted to make own similar component but found your one.
But your addin contains one bug. It works only for empty or clean strings. But if you'll change CStringEx::ReverseFind function it will work correctly.
My example of ReverseFind (may be not optimal):
int CStringEx::ReverseFind( LPCTSTR lpszSub, int startpos /*= -1*/ ) const
int len = GetLength();
if( startpos == -1 || startpos >= len )
startpos = len - 1;
if (startpos > 0)
res = Left(startpos);