|
Has anyone created a "Dynamic Search Handler"? (Start|Find|<your menu="" items="">)
I'm trying to duplicate the functionality of the PowerToy "FindX.DLL" & I'm up against a brick wall tring to figure out how FindX.dll implements a dynamic menu WITH an icon.
According to the MS docs (http://msdn.microsoft.com/library/psdk/shellcc/shell/Shell_Int/SearchHandlers.htm): "Menu icons are not supported for dynamic search handlers".
But when I look at the registry enteries for the FindX tool, it shows that it is a dynamic search handler & when I use it - it has an icon!
Does anyone know how FindX.dll does it?
|
|
|
|
|
Hi! I am developing a container in VC++ (COleClientItem and COleDocument). I need to make Shockwave Flash control (provided by Macromedia) transparent, but i am not getting thru. The default WMode property of the control is "window" and in VB, if the WMode property is changed to "Transparent" then during runtime the control becomes transparent and can toggle between Window and Transparent at runtime thru script. Also, when the control is not transparent initially, VB makes a window for it. but at runtime when the control turns transparent, there is no window - and returning to design time also, there is no window. So VB container is initially providing a window, but later removing it when the control becomes transparent and continues to be windowless thereafter. I also inserted the control in VC++ thru component Gallery. But the Create function is there instead of CreateEx where WM_EX_TRANSPARENT can be given. Although i used SetClassLong, it also didnt work, maybe bcoz the window is there. Please reply me is u have a solution ar if u r interested in providing a solution but didnt understand the problem clearly. I will write in more detail for u. Thankyou very much.
hints - IQuickActivate is supported by the control and i am using it.
Also, regarding property pages - before the property pages for the control maybe initialized, maybe if the WMode is set to Transparent, then it may work. I tried this way - I created a temporart storage using StgCreateDocFile and then created a stream using COleStreamFile. Then created a temporary flash control thru CoCreateInstance, then changed the WMode property to "Transparent" using COleDispatchDriver and saved it to stream. Now I created the actual control and queried for IPersistStreamInit and called its Load method passing the stream. The transparent property is set, but the control is still not transparent.
Thankyou.
regards,
Jeetendra Dhall
|
|
|
|
|
Hi,
I've made small shellextension and it works fine. Next, I want to add propertysheet extension. So I read one Complete Idiot's guide. Because I love WTL, I've tried to use CPropertyPage from WTL in AddPages method of IShellPropSheetExt interface. But when the extension is called, it goes down with "the memory cannot be read" in altwin.h. I cant find a way through. Can anyone help?
HRESULT CDbfExtension::AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam)
{
HPROPSHEETPAGE hPage;
CPropertyProppage m_PropPage;
m_PropPage.m_psp.dwFlags|=PSP_PREMATURE;
m_PropPage.SetTitle(_T("DBF INFO"));
hPage=m_PropPage.Create();
if ( NULL != hPage )
{
// Call the shell's callback function, so it adds the page to
// the property sheet.
if ( !lpfnAddPage ( hPage, lParam ))
DestroyPropertySheetPage ( hPage );
}
return S_OK;
}
|
|
|
|
|
Hi,
I'm implementing a COM Local Server that has to call-back on clients. I tought of using connection points but as my server has to callback on clients in a seperate thread, I can't use this mechanism as it doesn't marshall interface pointers. So I wrote my own call-back mechanisme. I did this by defining the call-back interface as a source interface in my server's idl file.
So far no problem, but when I try to create a client component that implements this call-back interface I start running into problems when trying to import the .tlb files. I solved this by including the .h of my server component in my code and importing the .idl of my server in my clients .dl file. This works but is propably not the most ellegant sollution. And besides that I don't have the definitions of the server's smartpointers and have to define them myself.
Does anyone have a sollution for this problem?
|
|
|
|
|
Problem with using Microsoft G.723.1 codec : can't build working graph with this codec in Graph Builder. While building graph this codec reports 0 bits on output pin .
|
|
|
|
|
Hi everybody,
does anybody know how to get a tooltip on a disabled activex control?
I'm using the solution described in MSDN: "HOWTO: Add Tooltips to ActiveX Controls" (Article ID: Q141871), but the tooltips only work if the control is enabled.
Thanks in advance!
Michael
|
|
|
|
|
I am facing problem in automating MSProject from VC++ automation client aplication.I have created simple VC++ dialog based application In which I generated Wrapper class file for MSproject type library using ClassWizard.When I run the MSProject application in Single Threaded automation client application it runs fine.But when I run MSProject application in multithreaded automation client application I got the problem if first thread close the MSProject application then successive thread get the problem in accessing method of MSProject component while I am seperatly instantiating MSProject application instance in thread.While this problem doesnot occur for Excel and Word.
I found from MSDN that every time MSProject Application instance is not created if MSProject application is already running then the instance of that is shared .But my requirement is that I want to create VC++ multithreaded automation client application .Everytime How I can get the new instance of MSProject in thread.
Please help me.It is very urgent.
Thanks in advance
Sanjeev
|
|
|
|
|
Hi everybody!
Situation: using a browser control to display html-pages hosting activeX controls.
Problem: tooltips doesn't work for all controls hosted in the html page.
Does anybody know how to enable/display tooltips for activeX - controls inside the html?
What I know is that every object inside the html has the IHTMLElement interface which has the property "title". This works fine for windowless controls but it seems to fail for "windowed" controls.
Any idea?
Thanks in advance!
Michael
|
|
|
|
|
Hi,
Check this article in MSDN: "HOWTO: Add Tooltips to ActiveX Controls" Article ID: Q141871.
Regards,
Alex Gorev,
Dundas Software.
|
|
|
|
|
Can I get the VersionIndependent ProgID from the CLSID? I tried ProgIdFromCLSID but it only returns the progId with the version number and that is not what I want.
|
|
|
|
|
Hi,
That's the only way the ProgIdFromCLSID function should work... You can find the version independent ProgID in the registry by object's CLSID.
\\HKEY_CLASSES_ROOT\CLSID\{51DBD0C1-77D7-11d2-94A2-006008939020}\VersionIndependentProgId
Regards,
Alex Gorev,
Dundas Software.
|
|
|
|
|
Can't initialise a COM with regsvr32 on the machine without VC++ 6.0 installed ! But with V-studio there is no problems. Anyone knows why ?
|
|
|
|
|
Hi,
Probably your control links dynamically to one of the DLLs from VC++ (like MFC libraries)... You have to distribute all the DLLs you are using in your control or use static linking.
Regards,
Alex Gorev,
Dundas Software.
|
|
|
|
|
Thanks, I think I've found a problem. It's quite tricky if you don't know indeed.
The standard Windows NT configuration doesn't include an Atl.dll in system32 dir. Neither you can see it in "Dependency walker" when checking your COM deps., so to enable registration of ATL COM on the fresh installed NT, you must copy that dll and register it as well as it needs to have an Ole32aut.dll but proper version (NT, or 95). Unfortunately this small tip is not noticed anywhere you can see straight away and for new COM developers can be a time consuming.
Thanks again,
Dimitri.
|
|
|
|
|
|
If you build your project with /D "_ATL_STATIC_REGISTRY" compiler option you do not need atl.dll to register/unregister you component.
|
|
|
|
|
Hi.
I've made an ActiveX exe in VC++. How do I put it in a web page?
(I'm new at ActiveX EXE's. So maybe i'm going at this the wrong way.)
Thanks
Chris
|
|
|
|
|
Hi Chris,
There is a very nive article in MSDN called "Internet First Steps: Upgrading an Existing ActiveX Control". I think it exactly what you are looking for...
Regards,
Alex Gorev,
Dundas Software
|
|
|
|
|
Hi!
I have developed a simple COM object using ATL 3.0. I intend to use this object in a web page. Everything works nice except for the event firing. These events are being fired from a second thread via a PostMessage mechanism, so that no apartment issues arise. The strange thing is that my ProxyGenerator wizard generated code has the connections variable (int nConnections = m_vec.GetSize();) set to zero (watched this behaviour while debugging) so that the firing doesn't take place.
The same thing happens if i package my component has a Lite control. But it all works perfectly fine with a Full control. The problem is that i don't need a UI, consequently, i don't need a Full control's overhead. Is it possible for a simple Com object to Fire Events to the IE? How?
Please help me!
Thanks in advance.
Luís Teixeira
|
|
|
|
|
How can a COM server detect his clients ?
Best regards
|
|
|
|
|
Hi.
I'm Soohyun Bae.
Now I'd like to hook some messages invoked by IE document, for example, mousemove, mouse click, key down...
Now, I could receive these messages by connecting my class derived from IDispatch to IE document.
CImpDispatch* m_pEvents;
m_pEvents = new CImpDispatch((IOleInPlaceFrame *)this);
hr = pCPC->FindConnectionPoint( DIID_HTMLDocumentEvents, &m_pConnectionPoint );
hr = m_pConnectionPoint->Advise(m_pEvents, m_dwConnectCookie );
...
and CImpDispatch...
STDMETHODIMP CImpIDispatch::Invoke(
DISPID dispIdMember, REFIID riid,
LCID lcid, WORD wFlags,
DISPPARAMS* pDispParams, VARIANT* pVarResult,
EXCEPINFO* pExcepInfo, UINT* puArgErr)
{
IHTMLEventObj *pEvtObj = NULL;
long x;
HRESULT hr;
if (dispIdMember == DISPID_HTMLDOCUMENTEVENTS_ONKEYDOWN )
{
hr = m_pWindow->get_event(&pEvtObj);
if (hr == S_OK)
{
pEvtObj->get_keyCode(&x);
// A key hook
if (x==65)
{
Trace("_HOOK: A key pressed");
x=0; // Point 1
hr = pEvtObj->put_keyCode(x); // Point 2
if (hr==S_OK)
{
pEvtObj->get_keyCode(&x);
}
}
}
}
return S_OK;
}
I could take reference code in www.microsoft.com/Mind/1297/hookIE.htm (really good...)
-----------------------------------------------------------
My Point is :
I hope to prevent resending specified message to IE.
I have thought that two points 1 and 2 could make so. But, ... couldn't...
How can I prevent resending ?
|
|
|
|
|
A server knows the client is present or not by using reference counting. But how knows the server when a client crashes. In that case the client is not able to call Release.
|
|
|
|
|
Does anyone how to import "tlbinf32.dll" ? When i tried like following:
#import "tlbinf32.dll" no_namespace named_guids
I got a bunch of compiler error.
Andy
|
|
|
|
|
import "tlbinf32.dll" exclude("ParamFlags", "IDLFlags", "ImplTypeFlags","_DirectCalls")
|
|
|
|
|
I am trying to write a DCOM server application. Some of the interface functions have paramaters that are user defined data types (structs). I have the header files where these type definitions are included in the server .h file included in the .h file of the server .cpp file. When I try to build, I receive the following error that points back to the .idl file:
"Expecting type specification near "data_type".
Any advice on how to remedy this. I am fairly new to DCOM/COM programming.
|
|
|
|