'Dual view' is complicated stuff, and this is how it works. If anything can be done to avoid this behavior then that can be done in 'Display Driver', as far as I know.
Cheers, Vishal
'Dual view' is complicated stuff, and this is how it works. If anything can be done to avoid this behavior then that can be done in 'Display Driver', as far as I know.
Cheers, Vishal
yes its possible, get IHTMLDocument2 pointer/object and you can access the element info, using several Interfaces provided by IE. look in MSDN for IHTML** interfaces...
Cheers, Vishal
Have you tried --- "GetAsyncKeyState" ? Cheers, Vishal
Hi peshkunta, You want to retrieve the text from the text box of some Instant messenger? What all you require are 1. HWND of -- IM 2. Class name for text box (most of cases it's "Edit") The API's you would require are... 1. EnumWindows: -Pass IM HWND as 1 param, and give your (own) callback function name as second param to this API. -Loop through the text boxes inside IM (if more text boxes exists). -When ever you get the text box from where you want to retrive the text return TRUE from callback to terminate the enumeration. (one possible approach to compare the text boxes is compare class name) -EnumWindows must return you the HWND to (desired) text box. 2. PostMessage -Use PostMessage to get the text from the text box. Pseudo code is done... now get in action to retrive the text ! all the very best ! Cheers, Vishal
Hi Vidya, Correct me if m wrong !!! Whenever the dll gets fresh data its sends some notification/events, its done? Okay so you need to access this data, right ? One possible way to do so is capture the notificaion/events sent by the dll. Another way of doing such thing is use the interfaces exposed by your dll, I mean your dll sends a notification/events, so there must exists some exposed interfaces... To check that your dll has exposed interfaces or not, you can design the sample using ATL... Steps to genertate the sample 1. Select ATL component project 2. Add simple object to project 3. Go to class view tab 3. Right click on class and select implements interface, it will pop up a dialog 4. Click on "AddTypeLib", select your dll's typelib and click "ok" 5. It will show you the list of interfaces exposed by your dll 5. Select the appropriate interface and click ok 6. IDE will generate the source code for interface implementation Ah, I think you should try this... this might ease the difficulty you are facing.... Let me know if I can do ne thing? :) Cheers, Vishal
Exactlly, the CLSID for both the activex controls are same thats why you were not able to use both OCX. Change the CLSID for modified OCX and register the activex component, this would certainly solve the problem. :) Cheers, Vishal
Hi superhandwolf, You can get the actual URL in the event "DocumentComplete", in your perticular case it will search for the given text and then gives you the actual URL for search result page... If you try to get the URL in OnBeforeNavigate2(...) using the 1 param i.e. IDisp. it would return you the current page's URL (i.e. page currently rendered ) "DocumentComplete" OR "DownloadComplete" can give you the URL... Cheers, Vishal -- modified at 6:19 Thursday 20th October, 2005
Hi lgaudouen, SetCapture(HWND hWnd) and ReleaseCapture() API's would do the trick for you. For more information on these API's, refer to the MSDN... Hope this helps ! :) Cheers, Vishal
>>I am developing an application with several components in it. The main >>application will have a GUI and there are several components like BHO, MS >>Office Addins, Clipboard trackers etc. I have a problem here. What kind of appliction is this, I mean do you have some activex control inside this application which in turn has IE instance, Office instance and so... >>These components should communicate with the main application by some >>means. You can get the HWND of your applications main window... there are several ways to get HWND, like get HWND using "caption" or "class name" for window with the help of FindWindow API... Once you get the HWND you can very well use "SendMessage" or "PostMessage" for further communication... All these things would go inside your BHO, Office addin or so... >>Also Is it possible to create a Singleton Automation server ? sorry no idea about the Singleton automation server... Hope this would help you! Cheers, Vishal -- modified at 8:28 Tuesday 11th October, 2005
Hi Chirag, Check if the regular expression libraries are installed properly. There might be some collision between your "RegExp" library CLSID's... I am just guessing, you can have a look... OR Try to design some simple application in VB using "Regular Expression" library. This might tell you where exactly the problem is... I cant see other things that should take time... all the best ! Cheers, Vishal -- modified at 8:09 Tuesday 11th October, 2005
Hi benjamin23, OLE/COM Object Viewer gives all inofrmation about the COM object. Go to "Type Library" and double click the COM object you want, it would show you the information about the interfaces/structures that COM object has... Hope this would help you... All the best ! Cheers, Vishal
The first parameter for CLSIDFromProgID has to be the PROGID Like for MS-Word, the PROGID is "Word.Application.9" You can get PROGID from HKEY_CLASSES_ROOT BTW what is the error you are getting ? You can see the error using the API GetLastError() Have fun ! Cheers, Vishal
Hi, Here is the API to get the CLSID of the activex control. CLSIDFromProgID(...) Hope this would help. Cheers, Vishal
Hi, I guess you can get the data sent by POST method in DocumentComplete/ DownloadComplete events of the IE. In addition to this you have to do some digging on interfaces IHTML*... Hope this would help... Cheers, Vishal
Hi, You can get HWND for the application you are opening through "ShellExecute" using following technique Psedo code: ShellExecute(GetDesktopWindow(), "open", "filename", "", "path", SW_SHOW) EnumChildWindows(GetDesktopWindow(), CallBackChildWindows, lParam) CallBackChildWindows(...) { int iRet; //Get the class name of the window iRet = GetClassName(hwnd,strClassName,..) if(iRet!=0) { //You must be knowing the class name for the application, which you are //opening through the SheeExecute. So match the class name here, once //match the class name exit from this proc. //arrStrClassNames would have all the class names if(strClassName==arrStrClassNames[iIndex]) return false else return true } } Still facing problems ? :cool: Cheers, Vishal
Global keyboard hooks would do the trick for you. Cheers, Vishal
You can set the height/width of the edit control using any of the following mehtods. BOOL MoveWindow(HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint ); HWND CreateWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam ); Cheers, Vishal
Does you activex control implements the IObjectSafety inteface? Here is the link to KB, how to implement the IObjectSaftey in VB. http://support.microsoft.com/kb/q182598/[^] Cheers, Vishal
Hi MohammadAmiry, You need to register the activex control in restricted user mode(windows would not allow you to do so). To register the activex control in restricted user mode, pls. refer to the following article. http://www.codeproject.com/w2k/regsvrex.asp[^] OR if you have written the activex control for your program you can modify the registration routine for that using "RegOverridePredefKey" API. >>Is it possible for a program run in a limitted user account, to load activex components? Offcourse it is possible. Happy programming ! Cheers, Vishal
Hi khlins, In dialog proc use MoveWindow(...) on "WM_INITDIALOG" message. This would position the dialog box where you wanted. Have fun ! Cheers, Vishal