Click here to Skip to main content
15,911,142 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionBlinking cursor on the view. Pin
VC++Maniac11-Feb-09 20:21
VC++Maniac11-Feb-09 20:21 
AnswerRe: Blinking cursor on the view. Pin
«_Superman_»11-Feb-09 20:33
professional«_Superman_»11-Feb-09 20:33 
QuestionCOM : ATL DLL? Pin
sam_psycho11-Feb-09 20:02
sam_psycho11-Feb-09 20:02 
AnswerRe: COM : ATL DLL? Pin
Stuart Dootson11-Feb-09 21:34
professionalStuart Dootson11-Feb-09 21:34 
GeneralRe: COM : ATL DLL? Pin
sam_psycho11-Feb-09 21:53
sam_psycho11-Feb-09 21:53 
GeneralRe: COM : ATL DLL? Pin
Stuart Dootson11-Feb-09 21:57
professionalStuart Dootson11-Feb-09 21:57 
GeneralRe: COM : ATL DLL? Pin
sam_psycho11-Feb-09 22:07
sam_psycho11-Feb-09 22:07 
AnswerRe: COM : ATL DLL? Pin
frx9616-Feb-09 14:11
frx9616-Feb-09 14:11 
IDispatch* DllBase::CreateClassComDispatch(BSTR sClassName)
{
CLSID clsid;
IUnknown *pUnk;
IDispatch *pDisp;
HRESULT hr;

CLSIDFromProgID(sClassName, &clsid);
hr = CoInitialize(NULL);
if(FAILED(hr))
return FALSE;
hr = CoCreateInstance(clsid,NULL,CLSCTX_ALL,IID_IUnknown,(void**)&pUnk);
if(FAILED(hr))
return FALSE;
hr = pUnk->QueryInterface(IID_IDispatch, (void **)&pDisp);
if(FAILED(hr))
{
pUnk->Release();
return FALSE;
}
return pDisp;
}

GetPrinterList(char* printLib, char* printersUrl, char* username, char* password)
{
char* retValue = NULL;
HRESULT hr;
DISPID idd;
VARIANTARG varResult;
IDispatch *pDisp;

try
{
VariantInit(&varResult);
retValue = NULL;
//lib
_bstr_t bstrLib = _bstr_t(printLib);
pDisp = CreateClassComDispatch(bstrLib.GetBSTR());
if(pDisp == NULL)
return NULL;
//function
LPOLESTR str = L"GetPrinterList";
//params
int ParamsNumber = 3;
VARIANTARG avarParams[3];
for(int i=0;i<paramsnumber;i++){>
::VariantInit( &avarParams[i] );
}
_bstr_t bstrTemp1 = _bstr_t(password);
avarParams[0].vt = VT_BSTR;
avarParams[0].bstrVal = bstrTemp1.copy();
_bstr_t bstrTemp2 = _bstr_t(username);
avarParams[1].vt = VT_BSTR;
avarParams[1].bstrVal = bstrTemp2.copy();
_bstr_t bstrTemp3 = _bstr_t(printersUrl);
avarParams[2].vt = VT_BSTR;
avarParams[2].bstrVal = bstrTemp3.copy();

DISPPARAMS params = { avarParams, NULL, ParamsNumber, 0 };
//get ID
hr = pDisp->GetIDsOfNames(IID_NULL,&str,1,NULL,&idd);
if(!FAILED(hr))
{
hr = pDisp->Invoke(idd, IID_NULL, LOCALE_USER_DEFAULT, DISPATCH_METHOD, ¶ms, &varResult, NULL, NULL);
if(FAILED(hr))
retValue = NULL;
else
{
_bstr_t retvalue = _bstr_t(varResult.bstrVal);
retValue = strdup((char*)retvalue);
}
}
else
{
retValue = NULL;
}

for(int j=0;j<paramsnumber;j++){>
::VariantClear( &avarParams[j] );
}
::VariantClear( &varResult );

return retValue;
}
catch(...)
{
}
return NULL;
}
QuestionDeleting data from XML Pin
brucewayn11-Feb-09 19:54
brucewayn11-Feb-09 19:54 
AnswerRe: Deleting data from XML Pin
sam_psycho11-Feb-09 20:04
sam_psycho11-Feb-09 20:04 
AnswerRe: Deleting data from XML Pin
Cedric Moonen11-Feb-09 20:15
Cedric Moonen11-Feb-09 20:15 
AnswerRe: Deleting data from XML Pin
sam_psycho11-Feb-09 20:23
sam_psycho11-Feb-09 20:23 
GeneralRe: Deleting data from XML Pin
Cedric Moonen11-Feb-09 20:50
Cedric Moonen11-Feb-09 20:50 
GeneralRe: Deleting data from XML Pin
CPallini11-Feb-09 22:16
mveCPallini11-Feb-09 22:16 
GeneralRe: Deleting data from XML Pin
Cedric Moonen11-Feb-09 22:28
Cedric Moonen11-Feb-09 22:28 
QuestionFindWindow() Pin
AnithaSubramani11-Feb-09 19:48
AnithaSubramani11-Feb-09 19:48 
AnswerRe: FindWindow() Pin
Perspx11-Feb-09 20:06
Perspx11-Feb-09 20:06 
AnswerRe: FindWindow() Pin
«_Superman_»11-Feb-09 20:28
professional«_Superman_»11-Feb-09 20:28 
AnswerRe: FindWindow() Pin
Stuart Dootson11-Feb-09 21:36
professionalStuart Dootson11-Feb-09 21:36 
Questionconverting TCHAR to CString giving some garbage value Pin
VCProgrammer11-Feb-09 19:47
VCProgrammer11-Feb-09 19:47 
AnswerRe: converting TCHAR to CString giving some garbage value Pin
Cedric Moonen11-Feb-09 20:19
Cedric Moonen11-Feb-09 20:19 
GeneralRe: converting TCHAR to CString giving some garbage value Pin
VCProgrammer11-Feb-09 20:51
VCProgrammer11-Feb-09 20:51 
GeneralRe: converting TCHAR to CString giving some garbage value Pin
Cedric Moonen11-Feb-09 20:56
Cedric Moonen11-Feb-09 20:56 
AnswerRe: converting TCHAR to CString giving some garbage value Pin
«_Superman_»11-Feb-09 20:26
professional«_Superman_»11-Feb-09 20:26 
AnswerRe: converting TCHAR to CString giving some garbage value Pin
VC++Maniac11-Feb-09 20:32
VC++Maniac11-Feb-09 20:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.