|
|
Hello!
I'm developing an application, that should navigate web pages and store some wanted data... So i have decided to do it using an instance of IE.
Could you show me a simple exemple?
I need several functions:
- Create instance of IE
- Navigate browser to url
- Get source of loaded html
- Get text of loaded html (text that we see, looking at browser window)
I know, that this problem is not so difficult, by i can't slove it yet...
|
|
|
|
|
|
Thanks a lot
I use C#. May be there is some features in C# to simplify the problem? The fact is that i never used com in C#...
|
|
|
|
|
I don't know C# to greater extent. But anyways, incase there is no ready to use feature in C# for your problem, then you can obviously use the interface I mentioned. For COM in Managed code, read some articles on "COM Interoperability"
Have a great day ahead!
Regards,
Sohail Kadiwala
(My Blog - http://blogs.wdevs.com/sohail/[^])
modified 21-Apr-21 21:01pm.
|
|
|
|
|
This is really getting up my nose now.
How do you, using ATL7 in VS7.1, expose an external COM interface to your COM implementation?
If I import the type library (xxx.tlb), it complains of type definition.
This is a snippet of what's in my header file. The error code generated is listed below
Test.tlb is an external type library.
<br />
#import "Test.tlb" no_namespace<br />
<br />
[<br />
object,<br />
uuid("121574AA-841A-4FE0-871C-19A3C8C3C82F"),<br />
dual,<br />
pointer_default(unique)<br />
]<br />
__interface ITestPlugin : IDispatch<br />
{<br />
[id(1) HRESULT Process(LONG val, [out,retval] LONG* retval);<br />
[id(2) HRESULT RegisterSource(ITestSrv* source); <font color='red'>
};<br />
<br />
[<br />
coclass,<br />
threading("apartment"),<br />
vi_progid("Plug.TestPlugin"),<br />
progid("Plug.TestPlugin.1"),<br />
version(1.0),<br />
uuid("45D39585-BD2D-4F61-B0C7-A992F8CD8EF4"),<br />
helpstring("TestPlugin Class")<br />
]<br />
..<br />
..<br />
The error code is:
c:\temp\code\chincb\chinplug\testplugin.h(19) : error MIDL2025 : syntax error : expecting a type specification near "ITestSrv"
c:\temp\code\chincb\chinplug\testplugin.h(19) : error MIDL2026 : cannot recover from earlier syntax errors; aborting compilation
LINK : fatal error LNK1240: failed to compile IDL content
I'm scratching my hair out!
I Dream of Absolute Zero
|
|
|
|
|
Although I do not know what is in the imported test.tlb, the error message means that the interface ITestSrv has not been defined. I would check where ITestSrv exists and is defined, and make sure that your header file can see the definition.
|
|
|
|
|
Hi all! I'm new in COM therefore my question may seem strange.
(Beforehand I beg your pardon for my English
So, question is: Where I can found definition of some interface?
Let me explain (I use MS VC++ 6.0). Suppose I want to add in my program
Windows Media Player Control. Fist of all I create control:
....
CWnd m_PlayerWnd;
...
...
m_PlayerWnd.CreateControl(WMP_clsid,"", WS_VISIBLE|WS_CHILD, rect,&m_panel,AFX_IDW_PANE_FIRST);
then I get pointer to IUnknown:
LPUNKNOWN lpUnk = m_PlayerWnd.GetControlUnknown();
promlem is that I can't just do like this:
IWMPControl* pPlrControl;
and then get pointer to IWMPControl using lpUnk->QueryInterface and then
control Player through IWMPControl's methods cause MS VC++ 6.0 say that
'IWMPControl' undefined.
I can control Player through IDispatch's methods like GetIDsOfNames and Invoke, but
I think that control Player through IWMPControl is more comfortable.
So can you help me? Should I create this definition by hand or there is some anoter way?
Thanks In Advance.
Dmitry Dubinin
P.S. I know that there is wrapper class for WMPlayer in MS VC++ 6.0, but I choose WMPlayer
just for example.
|
|
|
|
|
If you use #import on the Media Player library, then you can create them by calling new with __uuidof. Then you can see the methods through intellisense.
Google __uuidof #import for heaps of examples.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
Hai All,
I Have to use a dll that is compiled in delphi 5.
Can it be used directly in the COM.
I am new to Com programming.
Actually if the dll generated in the Delphi is compatable i have to use it in my .net environment by writing a wrapper class.
Please help me.
SukanyaVarma
|
|
|
|
|
Hi,
I have developed an activeX control using the VB6,i have made a cab file of it,but the problem is that i need to script it using javascripting and in that , i am unable to call the function in the activeX which can provide me the data.
Let me be more precise, actually its an activeX to get the harware info of the system , every thing is fine but when it comes to collecting the reterived data , i am not finding any way to get it, i need a way in which it can be accessed.
I will be very thankful to the ones who can help me out.
please reply ASAP...
Zaheer.
|
|
|
|
|
Hi
Why do we register dlls? What is happening while registering a dll?
Which are the dlls to be registered?
Can anyone give me a link which expalins all these questions?
Thanks in advance
|
|
|
|
|
Diana Fernandez wrote: Why do we register dlls? What is happening while registering a dll?
"Registering" a dll usually means calling a certain function inside the dll by the name of 'DllRegisterServer'.
COM servers could be contained in dlls and the 'DllRegisterServer' function is responsible for creating the register keys and values that are related to the server in question. Those keys and values are ProgID, ClassID, TypeLibID, interface IDs, threading model, proxy/stub and so on.
Diana Fernandez wrote: Which are the dlls to be registered?
All dlls that needs to be registered.
Seriously, the install program takes care of this when you purchase a product.
If you are the developer you have to know whether your dll needs to be registered or not. Basically you can say "if 'DllRegisterServer' can be found in the dll it should be registered to be safe".
If you're asking for a list of dlls that are supposed to be registered I can tell you that there is no such thing. Dlls that require registring are developed each day by developers all over the world. There is no "book keeping" of all these dlls.
Hope this helps
--
Roger
It's supposed to be hard, otherwise anybody could do it!
|
|
|
|
|
Hi
Many Thanks
Diana
|
|
|
|
|
Hello,
I dont know, how to implementate a registration script
"hInstance needs to be the module / instance handle
of the module that contains your server registration
script (resource ID 102) .."
the server registration script is importand to
register my OPC Server.
RegisterServer()
HRESULT RegisterServer(void)
Return Values S_OK upon success, otherwise the result code
returned from the ATL registrar component.
The success of this operation is dependent on the application
including a registry script resource as part of its EXE.
The resource ID MUST be 102. An example resource script
is shown below:
HKCR
{
NDI.SimulationSvr.1 = s 'NDI Simulation Server'
{ CLSID = s '{1E52DE00-FA5E-11d2-91C6-F8E932000000}'
...
Best regards
Thomas
|
|
|
|
|
Never used ATL COM, but today I came across a little ATL COM test program, it is created by ATL COM AppWizard, all the settings are by default. a new ATL object was added into the project, and a new property Score with it.
STDMETHODIMP CContrl::put_Score(float newVal)
{
MessageBox("afsf");
return S_OK;
}
Then I inserted this ActiveX Contrl into another Dialog base project, and when Score property value was changed, the message box was prompted.
But the problem is when I add this contrl to a webpage inside Frontpage and going through the same process, the message box doesn't shows up
|
|
|
|
|
Hello,
I have a question related to interop between .NET and COM objects.
Many of the .NET apps I develop make use of a COM object that is accessed through the Mentor Graphics PADS software.
The PADS executables act as COM servers, allowing a VB or .NET program to "connect" to a PADS application object and its document object as a client.
The PADS applications are SDI apps, so there's always only one document object associated to the application object.
The problem I am having is that users want to be able to select one of multiple PADS servers, in case they have multiple PADS applications open. When I do a GetObject, I don't have any control over which COM object it gets.
Do you know how I can get the COM object associated to a specific server application, using Windows API or function calls, or can you point me in the direction to look for information?
Thanks,
Jerry Baldwin
Design Engineer
Everett Charles Technologies
Semiconductor Test Group
jerry.baldwin@ectinfo.com
|
|
|
|
|
Hi,
I wrote a word addin (Office developer 2000 - VBA) that loads at startup of Ms Word. In the document with which Ms Word starts (document 1) everything is OK. I can also run the addin several times within Document 1. When I open another (new or saved) document, document 2, the addin will not run anymore. The commandbarbutton is visible en enabeled in the commandbar, but when I click on it nothing happens.
Any help will be appreciated.
Thanks,
Hendrik Jan
|
|
|
|
|
Hi,
We are working on development of a solution based on the RTC Client API v1.3 SDK. We want that the application we are developing should work as a service.
So we first tried to run the 'RTCSample' application as a service. For this we used a third party application that starts normal windows application through service.
Installing the service and starting the 'RTCSample' application through this service was not a problem. But using the sample application started with this way, we have not been able to connect to the LCS server.
We have confirmed that all the LCS related settings are correct. If we run that application without service it does not cause problem and we are able to connect to the LCS.
We want to run 'RTCSample' application as a service. So can you please help us how to make it as a service?
If there are any limitations on the RTC API regarding the service mode, please let us know.
|
|
|
|
|
I am having trouble with running one of my ASP.Net application. The problem is that the application runs another exe application using the process object and the exe in turn generates some output files but the output files are missing while running under ASP.net application scope. It runs fine when run through a console application or asp application. It is a problem specific to ASP.NEt application. Maybe something related to user permission under which the application is executing but i an not able to figure out the problem. Anybody out there know how to solve it please help.
thanks Ramendra
Ramendra K
|
|
|
|
|
I have a ASP.Net web application which calls a .exe program that generates some output files. But while running under ASP.Net environment i dont see the output files generated. It works fine when run under asp environment. I did tried to set permissions but that too didn;t work. Maybe i am not doing it correctly, so, please let me know what should i do to get it working.
Any help would be appreciated...
thanks, Ramendra
Ramendra K
|
|
|
|
|
What does this have to do with COM ? How do you call the exe ? Does it fail ( i.e. does it blow up, or can you just not see the result ) ? Can you control the exe to see what's going on ?
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
It has nothing to do with COM. I am calling the exe using the process object of the .net framework. It doesn't fail just returns without creating the output files. It doesn;t blow up. I dont know what you mean by controlling the exe. I call the exe application using the process object.
thanks, Ramendra
Ramendra K
|
|
|
|
|
ramenk wrote: It has nothing to do with COM.
Well, why did you ask in the COM forum then ? :P
ramenk wrote: It doesn't fail just returns without creating the output files.
What is the exe ? Did you write it ? If so, can you change it to help you work out what the problem is ?
ramenk wrote: I dont know what you mean by controlling the exe. I
I mean, is it yours/do you have the source code.
Christian Graus - Microsoft MVP - C++
|
|
|
|
|
No i didn;t write the exe and cannot change it. I have to use as is and make it work.
thanks, Ramendra
Ramendra K
|
|
|
|