|
|
Kanagu_INDIAN wrote:
qweqweqwe
wewewewewe no no no;)
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
i have two problem
the first,I want to encrypt the mail body and the attachments, but i don't know how to get the mail body and the attachments, then how to put the encrypted message into outlook and send them out?
I add an add-in to outlook, it was added when outlook was startup. i want to add two buttons in the toolbars when an new mail is creating, how can i do it?
anyone can help me? thanks!
bluesky
|
|
|
|
|
wywyongwei wrote:
I add an add-in to outlook, it was added when outlook was startup. i want to add two buttons in the toolbars when an new mail is creating, how can i do it?
anyone can help me? thanks!
i think you have to inject a dll in process space of Outlook to perform this action,i have too use this same method ,but i am sorry i can't provide source code for that.
you can look for dll injection article in CP.
wywyongwei wrote:
the first,I want to encrypt the mail body and the attachments, but i don't know how to get the mail body and the attachments, then how to put the encrypted message into outlook and send them out?
firts get the Mail Body from the outlook,ther is well defined model for MS Outlook,or you can search outlook related article in com or vc+ + section.
-----------------------------
"I Think It Will Help"
-----------------------------
Alok Gupta
visit me at http://www.thisisalok.tk
|
|
|
|
|
Hello,
I've spend several hours on this and cant understand it. I downloaded some examples and compiled. For instance the "Digital Clock and Timer ActiveX Control". But I just cant get it working. I want to use a component on a regular webpage so I tried to have it popup the aboutbox. I also tried to add another method that had the purpose to send the number "10" back. All I got was "no such method". Anyone got a working html example of how to use it please?
For the main goal. How do I make a really basic activeX thingy that can do simple C++ stuff. No graphics or such just regular math, file things, registry and so on. If theres a kind soul ot there that could provide a demoproject of such for me to learn I would be really happy.
Using VS.Net
Thanks
/HF
|
|
|
|
|
Hi,
I am developing an MFC MDI doc/view based application that uses a COM server object. The application's GUI also uses ActiveX controls for displaying data in graphs.
At first, I called ::CoInitializeEx(NULL, COINIT_MULTITHREADED); in my CWinApp derived class's InitInstance() function to initialize COM. Using this method I can make method calls to my COM server from the main application or within threads created by the main application.
However, when I added an ActiveX control to one of the views, it would ASSERT that a hwnd pointer was NULL and then show the message "An unsupported operation was attempted." after pressing ignore 3 times. It seems that the ActiveX control has trouble creating itself.
This problem was fixed by changing CoInitializeEx to AfxOleInit() (Thanks to Michael Dunn's article on COM), and after that, the ActiveX controls can show themselves without a hitch, but now any method call to my COM server from within threads won't work beacuse I did not initialize COM with COINIT_MULTITHREADED.
So my question is this: How do I use ActiveX controls and be able to call my COM server from multiple threads?
Any help would be greatly appreciated.
Thanks!
|
|
|
|
|
Can someone point me in the right direction for creating download progress information while an activeX control is installing. I presume it's some kind of callback but would appreciate some help.
thanks in advance
Carl
|
|
|
|
|
Hi,
after my first successful test with the COM server library, I inspected the registry for the ActiveDesktop object with oleview. Unfortunately, I clicked on the 'Implementation' tab and could no longer create an instance of ActiveDesktop afterwards. Oleview and also the client respond with the error message 8007007E. Has anybody an explanation for that strange behavior? How can I resolve the problem without rolling back XP?
Thanks in advance,
Ingo
|
|
|
|
|
I have wondered about how to design a logging system which has an application to view the log and a number of other applications which can write to and maybe even read from the log. My app may run on Windows 98 so I cannot use the system event log and I cannot write an NT service which acts as a
logging service (but that would be nice!).
What I thought about writing then is a COM component which manages the log. It provides methods to read from and write to the log and manages requests from different applications. What I need to know is how and if this is possible. I have written a COM component and it has methods for reading and
writing "events". The problem is that if my app has read the log it will have to reload the log to check for updates by other apps. Also, other apps may try and write to the log but they have their own instance of the COM object.
What do i do? Are connection points the solution? Does the component need to be multi-threaded?
Any ideas anyone?
|
|
|
|
|
If the user has installed the control successfully and goes back to installation url again, Is it possible to have the activex control send a msg box, "You have already installed this control" ?
|
|
|
|
|
If your browser has the following script written, it will definitely
<object id="CommonDialog1" width="32" height="32" classid="CLSID:F9043C85-F6F2-101A-A3C9-08002B2F49FB" codebase="http://myhost/acticex/Active.cab #Version=1,0,0,0">
you have to check for cab file versioning, as you can pack you ActiveX in side a cabinet file....browser will do rest of the part for you.
JUST CHCECK FOR VERSONING
<#Version=1,0,0,0">
cheers
Balkrishna Talele
|
|
|
|
|
This is for the common dialog (open Save)
It does not inform me that my control has already been installed?????
|
|
|
|
|
I made an addin by using the Addin-Wizard of Visual .NET.
I should like to install this addin on the next configuration:
- A PC with Windows XP
- there can be several users, but they haven't administrator rights.
- The installation of the addin must work in the administrator mode, but users should use it in restricted mode (not admin mode in Windows XP).
So, I have problems, because the addin fail when it is launched in restricted mode.
Visual .Net print the addin failed during the loading.
Do you know a solution for this problem ?
|
|
|
|
|
Hi,
I have this code (from a tutorial by Vipul Bansal here)
which calls a method via ms soap .
<br />
...<br />
VARIANT retval;<br />
<br />
hr = pSoapClient->Invoke( dispid, IID_NULL, <br />
LOCALE_USER_DEFAULT, DISPATCH_METHOD,<br />
&dispparams, &retval , &excepinfo, &uArgErr);<br />
The thing is that the method this code invokes, returns an object with data
that I need later in my code, but since the return value is of the VARIANT
data type, I don't know how to (propertly) convert it to the class I need or maybe set the return object in the dispparams type ?!
Here is a piece of the .wsml file.
<br />
<operation name="CreateID"><br />
<execute uses="...." method="CreateID" dispID="1"><br />
<parameter callIndex="-1" name="returnval" elementName="Result" /> <br />
<parameter callIndex="1" name="User" elementName="User" /> <br />
<parameter callIndex="2" name="Password" elementName="Password" /> <br />
</execute><br />
</operation><br />
|
|
|
|
|
wsml:
<pre>
<operation name="CreateID">
<execute uses="..." method="CreateID" dispID="1">
<parameter callIndex="-1" name="returnval" elementName="Result" />
<parameter callIndex="1" name="User" elementName="User" />
<parameter callIndex="2" name="Password" elementName="Password" />
</execute>
</operation>
</pre>
|
|
|
|
|
Take a look at the MSDN docs on VARIANT , and its three fields vt , punkVal and pdispVal . I assume you know COM/IUnknown , then it'll be clear to you how to get the object. If not, then I think you should get a book on COM as well.
--
Arigato gozaimashita!
|
|
|
|
|
Hi All.
I am Completely new with COM/DCOM/COM+ concepts.
I am A VB6.0 developer and wanna to learn about them....
I search withing Codeproject.com but could not find any sample bout creating and using A COM/COM+ program with VB6.0
could you please help me?
Thank you
|
|
|
|
|
hi
I am developing an ActiveX control in which i have placed a dialog box and and on that dialog box there are some controls like button control,edit control etc (its working fine). But when i add registered controls like flex grid control (from project>Add to project...>components and controls ...) on the dialog, the dialog box's m_hWnd member becomes NULL.
Does any one know how to solve this problem.its urgent please.
regards
Azam
|
|
|
|
|
Does your ActiveX control assert failure with a message saying "An unsupported operation was attempted"? I had a similar problem and solved it by using AfxOleInit instead of CoInitialize(NULL).
|
|
|
|
|
thanks Herbert now its working fine
|
|
|
|
|
I have apartment threaded built VB activex control hosted on ATL dialog - they reside in thread T1.
Another CComObject component in thread T2 of the same process - tries to access methods of this ActiveX control.
There is an exception.
I tried using Lock(), Unlock() provided by ATLModule, and also explicitly creating CComCriticalSection. But in vain.
Can anyone help?
|
|
|
|
|
Someone wrote:
Another CComObject component in thread T2 of the same process - tries to access methods of this ActiveX control.
Please have a look at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/htm/cmf_a2c_88tp.asp[^]
Suppose you have the interface pointer pCtrl in thread T1. Then you cannot use that pointer straight away in thread T2. You would have to do something like this:
IStream* pStream;
CoMarshalInterThreadInterfaceInStream(IID_ITheInterfaceID, pCtrl, &pStream); If the call is successful, pStream will be a stream containing a reference to your object pCtrl and apartment marshalling information.
In thread T2, you pick up the pStream object, and unmarshal the interface pointer from the stream like this:
ITheInterface* pCtrl2;
CoGetInterfaceAndReleaseStream(pStream, IID_ITheInterfaceID, (void**)pCtrl2); The interface pointer pCtrl2 will now be accessible in thread T2. Generally speaking, the interface pointer deserialized from a stream is accessible in the thread where it was deserialized.
--
Arigato gozaimashita!
|
|
|
|
|
I tried this, but due to some runtime exception, changed to Global Interface Table. Now the problem is:
I create instance of IGlobalInterfaceTable and marshal my interface into it using RegisterInterfaceInGlobal(..). It returns me HRESULT of Successful.
Now if I Unmarshall this interface in the same thread somewhere down the line, I can successfully retriev it & call methods on this interface.
Problem is that in another thread, when I create instance of Global interface table, and access the interface using global cookie, I get HRESULT of 0x8000FFFF which means catastrophic failure.
The second thread calls CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); and CoUninitialize(). Also it waits for a event handle. Apart from the wait statement, the thread returns immediately. (it does not have message pump).
|
|
|
|
|
Dear Memebers,
Wishes to all !
This is akszn.
Here i am looking for some tips to create my own utility to autofill the contents in a web page fields.
Please suggest do anybody have developed it yet. If somebody have any Idea about it. please let me know.
To know more about google toolbar please visit : http://www.google.com
I want to know can we create that toolbar like google and how ?
Please spare your time to reply this post, its urgent
With Regards
|
|
|
|
|
I have a standard componenet developed in VC.Net which will fire an event. The .Net component will send two parameters of type object with that event.
I used VC++6.0 to develop my vc++ client,
In the corresponding .idl file the declaration of the event handler is like:
methods:
[id(0x00000001), helpstring("method Moved")]
void Moved(
[in] long XPosition,
[in] long YPosition);
I have done the following in my VC++ application.
1. I have created a class derived from IDispEventImpl,as follows:
class CSinkObj : public IDispEventImpl<idc_srcobj, csinkobj="">
{
public:
HWND m_hWndList;
CSinkObj(HWND hWnd = NULL) : m_hWndList(hWnd)
{
}
BEGIN_SINK_MAP(CSinkObj)
SINK_ENTRY(IDC_SRCOBJ, 1, Moved)
END_SINK_MAP()
void __stdcall Moved(long XPosition, long YPosition)
{
AfxMessageBox("Event notification handled in MFC client");
}
};
2. In the CPP file,
I get the address using cocreateinstance and I used the AtlGetObjectSourceInterface and DispEventAdvise for my object ,as follows:
m_pSinkObj = new CSinkObj(hWndCtrl);
HRESULT hr = m_pStageSrcObj.CoCreateInstance(CLSID_Stage,NULL,
CLSCTX_INPROC_SERVER);
_ASSERTE(SUCCEEDED(hr));
hr = AtlGetObjectSourceInterface(m_pStageSrcObj, &m_pSinkObj->m_libid,
&m_pSinkObj->m_iid, &m_pSinkObj->m_wMajorVerNum, &m_pSinkObj->m_wMinorVerNum);
_ASSERTE(SUCCEEDED(hr));
all above can be compiled and linked successfully,and i set a breakpoint at AtlGetObjectSourceInterface and step over,the problem appeared like : m_pSinkObj->m_libid is not NULL,but m_pSinkObj->m_iid is NULL,so the HRESULT value returned failed! so I am not able to capture the event from the component.
Can any one of you please tell me the solution for my problem... or is there any other way to capture the event from a VC.Net component in VC++6.0
thanks !
andy_cn
|
|
|
|
|